๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Develop Study ๐Ÿ’ป

[github] ๋กœ์ปฌ, main๊ณผ ๊ผฌ์˜€์„ ๋•Œ / ํŒŒ์ผ ์•ˆ๊ฒน์น˜๋Š”๋ฐ merge์•ˆ๋  ๋•Œ

728x90
๋ฐ˜์‘ํ˜•

branch๋กœ ์ž‘์—…ํ•˜๋‹ค๊ฐ€ main pull์„ ํ•ด์•ผํ•˜๋Š”๋ฐ ๊นƒ์— ์ปค๋ฐ‹๋œ๋ถ€๋ถ„๊ณผ ์ถฉ๋Œ์ด๋‚˜๋Š” ๊ฒฝ์šฐ :

๊ธฐ์กด์— main์—์„œ pull ๋ฐ›์€ ๋ธŒ๋Ÿฐ์น˜๋ฅผ ์‚ญ์ œ, ์ƒˆ๋กœ์šด branch์—์„œ Pull๋ฐ›๊ณ  ํŒŒ์ผ ์ด๋™ ํ›„ ๋‹ค์‹œ push 

์—†์–ด์ง€๋ฉด ์•ˆ๋˜๋Š” ์ž‘์—…ํ•œ ํŒŒ์ผ์„ ๋”ฐ๋กœ ๋บ€ ํ›„ ์•ˆ์ „ํ•˜๊ฒŒ ์ง„ํ–‰ํ•œ๋‹ค. 

1. ์ƒˆ๋กœ์šด branch๋ฅผ ํŒŒ๊ณ  ์ด๋™ (tmp๋ผ๋Š” ์ด๋ฆ„์˜ branch ์ƒ์„ฑ) 

git checkout -b tmp

- ์˜ˆ๋น„ ๋ธŒ๋ Œ์น˜๋กœ ๋กœ์ปฌ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ์ „๋ถ€ ๋ณต์‚ฌํ•ด๋‘๊ณ  ๋Œ€๊ธฐ์‹œํ‚ค๋Š” ์šฉ 
- -b : ๋งŒ๋“ค๊ณ  ์ด๋™์˜ (git branch tmp / git checkout tmp) ๋‹จ์ถ•ํ‚ค

 

2. ๋กœ์ปฌ์—์žˆ๋Š” dev๋ผ๋Š” ์ด๋ฆ„์˜ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œ (์—ฌ๊ธฐ์„œ dev๋Š” origin branch์˜ ์ด๋ฆ„์ž„)

git branch -D dev

- ์†Œ๋ฌธ์ž -d : ๋ธŒ๋žœ์น˜์— merge๋˜์ง€ ์•Š์€ ๋‚ด์šฉ์ด ์žˆ์œผ๋ฉด ์ถฉ๋Œ ๋ฐฉ์ง€๋กœ git์ด ์‚ญ์ œ๋ฅผ ๋ง‰์Œ 
- ๋Œ€๋ฌธ์ž -D : ๋ณ‘ํ•ฉ์—ฌ๋ถ€ ์ƒ๊ด€์—†์ด ์ผ๋‹จ ์‚ญ์ œ 
-  ์ž‘์—…ํ•œ ํŒŒ์ผ๊นŒ์ง€ ๋‚ ๋ผ๊ฐ€๋ฉด ์•ˆ๋˜๋‹ˆ ๋‹ค๋ฅธ ํด๋”์— ์ด๋™์‹œ์ผœ๋‘๊ณ  ์‚ญ์ œํ•œ๋‹ค. 

 

3. ๋กœ์ปฌ์— ๊ธฐ๋ก๋œ ์›๊ฒฉ๋ธŒ๋žœ์น˜(remote_tracking branches)์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด๊ณ  ์ƒํƒœ ํ™•์ธ 

git branch -r

 

4. ๋‹ค์‹œ main branch์ด๋ฆ„์˜ branch ์ƒ์„ฑ, ์ด๋™

git checkout dev

- git์€ chekout์œผ๋กœ branch๋ฅผ ๋งŒ๋“ค ๋•Œ ๋กœ์ปฌ์—์„œ branch๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฉด, ๊ฐ™์€ ์ด๋ฆ„์˜ ์›๊ฒฉ(origin)์—๋„ ์žˆ๋Š”์ง€ ํ™•์ธํ•จ. ์›๊ฒฉ์—๋„ ์žˆ์œผ๋ฉด ๋กœ์ปฌ์— dev๋ผ๋Š” ์ด๋ฆ„์˜ branch๋ฅผ ๋งŒ๋“ค๋ฉด์„œ origin๊ณผ ์—ฐ๊ฒฐ๋˜๋„๋ก tracking ์„ค์ •์ด ๋จ. ์›๊ฒฉ์—์„œ pull ๋ฐ›๋Š”๊ฒƒ์€ ์•„๋‹ˆ๊ณ  ๋‚ด ์ปดํ“จํ„ฐ๊ฐ€ ์•Œ๊ณ ์žˆ๋Š” ์›๊ฒฉ์˜ ์ตœ์‹ ์ƒํƒœ๋กœ ๋งŒ๋“ฆ. ๊ทธ๋ž˜์„œ ์ด checkout ์ „์—๋Š” git fetch๋ฅผ ์ž์ฃผ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ํ•„์š”.  

 

 

5. ์ดํ›„ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜์—์„œ add. / commit 

 

 


๊ฐ branch๊ฐ€ ์–ด๋””๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š”์ง€ ์•Œ๋ ค๋ฉด? 

git branch -vv

 

 

git pull๋Š” git fetch + git merge์™€ ๋™์ผํ•จ 

728x90
๋ฐ˜์‘ํ˜•