[Git] ์ž˜๋ชป๋œ ๋ธŒ๋žœ์น˜์— ์ปค๋ฐ‹ ํ–ˆ์„๋•Œ ๋Œ€์ฒ˜๋ฒ•

๐Ÿ” ๊ฐœ์š”

ํ”„๋ฆฌ์ฝ”์Šค๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์‹ค์ˆ˜๋กœ branch๋ฅผ ๋งŒ๋“ค๊ณ  ์ฒดํฌ์•„์›ƒ์„ ํ•˜์ง€ ์•Š๊ณ  ๋ฏธ์…˜์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋ณด์—ฌ

์ด๋Ÿฐ ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€๋Š” ์ „๋ถ€ ๋กค๋ฐฑ์‹œํ‚ค๊ณ , ๊ทธ๋™์•ˆ ์ง„ํ–‰ํ•œ ์ปค๋ฐ‹๋“ค์„ branch๋กœ ์˜ฎ๊ฒจ์•ผ ํ•˜๋Š”๋ฐ..

 

1.์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ๋ฐ ์ฒดํฌ์•„์›ƒ

๋จผ์ € ์˜ฎ๊ธธ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋กœ ์ฒดํฌ์•„์›ƒํ•ฉ๋‹ˆ๋‹ค.

git checkout -b <๋ธŒ๋žœ์น˜-์ด๋ฆ„>

 

2.์ปค๋ฐ‹ ํ•ด์‹œ ์ฐพ๊ธฐ 

git log # ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹ ํ•ด์‹œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. (๋ฐฉํ–ฅํ‚ค๋กœ ์กฐ์ž‘ ๊ฐ€๋Šฅ)
git reset --hard <์ฒซ-์ปค๋ฐ‹-ํ•ด์‹œ>

git log ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ main ๋ธŒ๋žœ์น˜์˜ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹ ํ•ด์‹œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. (๋งŒ์•ฝ ๋‹ค๋ฅธ ํ•ด์‹œ๋กœ ๋ณต๊ตฌํ•˜๋ ค๋ฉด ๊ทธ๊ฑธ ๋ณต์‚ฌ)

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹ ์ƒํƒœ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.


<์ฒซ-์ปค๋ฐ‹-ํ•ด์‹œ>๋Š” ์‹ค์ œ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹์˜ ํ•ด์‹œ๋กœ ๊ต์ฒดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

3.main ๋ธŒ๋žœ์น˜์—์„œ ๋‚˜๋จธ์ง€ ์ปค๋ฐ‹ ๋ณต์‚ฌ

์ด์ œ git cherry-pick ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์ปค๋ฐ‹์„ ์›ํ•˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

git cherry-pick <์ฒซ-์ปค๋ฐ‹-ํ•ด์‹œ>..main

 

์ด ๋ช…๋ น์€ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹ ๋‹ค์Œ ์ปค๋ฐ‹๋ถ€ํ„ฐ main ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹๊นŒ์ง€ ์›ํ•˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

4.์›ํ•˜๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ์— push

์›ํ•˜๋Š” ๋ธŒ๋žœ์น˜์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— pushํ•ฉ๋‹ˆ๋‹ค.

git push origin <๋ธŒ๋žœ์น˜-์ด๋ฆ„>

 

5.main ๋ธŒ๋žœ์น˜ ์›๋ณต(์ฃผ์˜!)

git checkout main
git reset --hard <์ฒซ-์ปค๋ฐ‹-ํ•ด์‹œ>
git push --force-with-lease origin main

 

--force-with-lease ์˜ต์…˜์€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ ์ƒˆ๋กœ์šด ์ปค๋ฐ‹์„ pushํ•˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋งŒ ๊ฐ•์ œ๋กœ push๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

[์ฃผ์˜]

git push --force ๋˜๋Š” git push --force-with-lease ๋ช…๋ น์€ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ˜‘์—…ํ•˜๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ํŒ€์›๋“ค๊ณผ ์ƒ์˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ ๊ณต์œ 
  • ๋„ค์ด๋ฒ„ ๋ฐด๋“œ ๊ณต์œ 
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ 
  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ ๊ณต์œ