๊ด€๋ฆฌ ๋ฉ”๋‰ด

Daehyunii's Dev-blog

05. Branch ์ƒ์„ฑํ•˜๊ธฐ ๋ณธ๋ฌธ

๐Ÿ“š Language & CS knowledge/Git & GitHub

05. Branch ์ƒ์„ฑํ•˜๊ธฐ

Daehyunii 2022. 10. 8. 02:03

01. branch

 

  git์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ์ด์œ ๋Š” ํ•˜๋‚˜์˜ ํด๋” ๋‚ด์—์„œ๋„ branch๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. branch๋ž€ ๋‹จ์–ด์˜ ๋œป ๊ทธ๋Œ€๋กœ ๊ฐ€์ง€๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ธฐ์กด์˜ ํ”„๋กœ์ ํŠธ์—์„œ ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด๊ฐ€ ๋– ์˜ค๋ฅด๊ฑฐ๋‚˜ ์ƒˆ๋กญ๊ฒŒ ์ ์šฉํ•  ๊ธฐ์ˆ ์„ ๊ฐœ๋ฐœํ• ๋•Œ ๊ธฐ์กด์˜ ํ”„๋กœ๊ทธ๋žจ์— ๋ฐ”๋กœ ์ ์šฉํ•ด ๋ณด๋Š”๊ฒƒ ๋ณด๋‹ค๋Š” ์ƒˆ๋กญ๊ฒŒ ์ ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์ด ์ž˜ ์ž‘๋™์ด ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•  ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒƒ๋“ค์„ ๋„์™€์ฃผ๋Š” ์—ญํ• ์ด ๋ฐ”๋กœ branch์ด๋‹ค. ์ฆ‰, ๊ธฐ์กด์˜ ํ”„๋กœ๊ทธ๋žจ์€ ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ์ƒˆ๋กœ์šด ๊ฐ€์ง€๋ฅผ ๋ป—์–ด ๊ธฐ์กด์˜ ํ”„๋กœ๊ทธ๋žจ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ๊ฐ€์ ธ์˜จ ํ›„ ์ดํ›„ ์ž‘์—…๋“ค์„ ๋ฏธ๋ฆฌ ์ง„ํ–‰ํ•ด ๋ณด๋Š” ๊ฒƒ์ด๋‹ค. 

 

branch ๋งŒ๋“ค๊ธฐ(๋นจ๊ฐ„์ƒ‰)

 

  ์œ„์˜ ์‚ฌ์ง„์„ ๋ณด๋ฉด ํŒŒ๋ž€์ƒ‰ ์„ ๊ณผ ๋นจ๊ฐ„์ƒ‰ ์„ ์ด ์žˆ๋‹ค. ํŒŒ๋ž€์ƒ‰ ์„ ์€ ์ฒ˜์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•œ ์ดํ›„์— ๊ณ„์†ํ•ด์„œ commit์„ ํ•ด์™”๋˜ ๊ฒƒ์ด๊ณ , Replace Cheetas with Panthers์—์„œ ๋นจ๊ฐ„์ƒ‰ ์„ ์ด ๋ป—์–ด๋‚˜๊ฐ€๋Š” ๊ฒƒ์€ ํ•ด๋‹น ์‹œ์ ์—์„œ ์ƒˆ๋กœ์šด branch๋ฅผ ๋งŒ๋“ค์–ด ํŒŒ๋ž€์ƒ‰ ์„ ์€ ๊ฑด๋“ค์ด์ง€ ์•Š๊ณ , ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด๋‚˜ ํŒŒ์ผ๋“ค์„ ์ถ”๊ฐ€ํ•ด์„œ ํ…Œ์ŠคํŠธํ•ด ๋ณด๊ธฐ ์œ„ํ•ด ์ƒ์„ฑํ•œ branch์ด๋‹ค. ์œ„์˜ ์‚ฌ์ง„ ์ฒ˜๋Ÿผ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ด๋ค„์ง„ commit๋“ค์€ ํŒŒ๋ž€์ƒ‰ ์„ ์˜ commit์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰, ์„œ๋กœ ๋ณ„๊ฐœ์˜ ์ฐจ์›์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 

02. branch ์ƒ์„ฑ/์ด๋™/์‚ญ์ œ

 

<๋ช…๋ น์–ด> git branch (branch ์ด๋ฆ„) - ์ž‘์„ฑํ•œ branch ์ด๋ฆ„์œผ๋กœ branch๋ฅผ ์ƒ์„ฑ

 

<๋ช…๋ น์–ด>git branch - ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก ํ™•์ธ

 

<๋ช…๋ น์–ด>git switch (branch ์ด๋ฆ„) - ํ•ด๋‹น branch๋กœ ์ด๋™(์ด๋™ํ•ด์„œ ํ•ด๋‹น branch์—์„œ ์ž‘์—…์„ ํ•˜๋Š” ๊ฒƒ์ž„, ์ฆ‰ ์ฐจ์›์„ ์ด๋™ํ•ด์„œ ํ•ด๋‹น branch์—์„œ ์ž‘์—…์„ ํ•˜๋Š” ๊ฒƒ์ž„)

 

<๋ช…๋ น์–ด>git branch -d (branch ์ด๋ฆ„) - ํ•ด๋‹น branch ์‚ญ์ œ

 

<๋ช…๋ น์–ด>git branch -m (branch ์ด๋ฆ„) (๋ฐ”๊ฟ€ branch ์ด๋ฆ„) - branch ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ

 

<๋ช…๋ น์–ด>git switch -c (branch ์ด๋ฆ„) - branch ์ƒ์„ฑ๊ณผ ์ด๋™์„ ๋™์‹œ์—(๊ทธ๋ƒฅ ์ƒ์„ฑ ํ•œ๋‹ค๊ณ  ํ•ด๋‹น branch๋กœ ๋ฐ”๋กœ ์ด๋™๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๊ธด ๋ช…๋ น์–ด)