๐Ÿ“š Computer Science/Git

[git] pull ์ „์— commit ํ–ˆ์„ ๋•Œ ๋Œ€์ฒ˜๋ฒ•

ibelieveinme 2021. 9. 9. 01:22
728x90

commit์„ ํ–ˆ๋Š”๋ฐ, pull ๋‚ด์—ญ์ด ๋ณด์ด์ง€ ์•Š์•˜์–ด์„œ

pull์„ ๋‹ค ๋ชป๋ฐ›๊ณ  commit์„ ๋จผ์ € ํ–ˆ๋‹ค๋ฉด git ์ถฉ๋Œ์ด ๋‚  ๊ฐ€๋Šฅ์„ฑ์ด ๋งŽ์ฃ . (์•„์ฃผ ๋นˆ๋ฒˆํ•œ ์‹ค์ˆ˜...ํ•˜ํ•˜)

 

์ด ๋•Œ์˜ ๊ฐ„๋‹จ ํ•ด๊ฒฐ๋ฒ•์„ ์•Œ์•„๋ด…์‹œ๋‹น.

 

์šฐ์„ , git commit ๋‚ด์—ญ์„ ์ง€์›Œ์ค๋‹ˆ๋‹ค. (์ผ๋‹จ commit ํ•œ ์ƒํƒœ๋‹ˆ๊นŒ ๋‚ด์—ญ ๊ฒ€์ƒ‰์œผ๋กœ ์‚ด๋ฆด ์ˆ˜ ์žˆ์–ด์š”! ๊ฑฑ์ • NoNo)

git reset --hard HEAD^

 

1) --hard ์˜ต์…˜์€ ๋Œ์•„๊ฐ€๋ ค๋Š” ์ด๋ ฅ์ดํ›„์˜ ๋ชจ๋“  ๋‚ด์šฉ์„ ์ง€์›Œ ๋ฒ„๋ฆฌ๋ฏ€๋กœ ์ปค๋ฐ‹ํ•ด์•ผํ•  ๊ฒƒ๋“ค์ด ์žˆ๋Š”์ง€ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

2) HEAD^๋Š” ๋ฐ”๋กœ ์ง์ „ ์ปค๋ฐ‹ 1๊ฐœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปค๋ฐ‹์ด๋ผ๋ฉด HEAD~2 (2๊ฐœ), HEAD~3 (3๊ฐœ) ๋“ฑ์˜ ํ‘œํ˜„์„ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.

 

๋‹ค์Œ์œผ๋กœ ๋ชป ๋ฐ›์€ pull์„ ๋ฐ›์•„์ฃผ์„ธ์š”.

git pull

 

๊ทธ ๋‹ค์Œ git reflog ๋ช…๋ น์œผ๋กœ ์•„๊นŒ ์ง€์šด commit ๋‚ด์—ญ์„ ์ฐพ์•„๋ด…์‹œ๋‹ค.

git reflog

์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, commit ๋‚ด์—ญ์ด ์ญ‰ ๋‚˜์˜ฌํ…๋ฐ, ์•„๊นŒ ์ง€์šด ์ปค๋ฐ‹ ์ด๋ ฅ์„ ์ฐพ์•„์„œ ์•ž์— ์•„์ด๋””๋ฅผ ๋ณต์‚ฌํ•ด์ฃผ์„ธ์š”.

 

๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น git commit ์ด๋ ฅ์„ checkout ๋ช…๋ น์–ด๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

git checkout [commit ID]

 

๊ทธ๋Ÿผ, ๋กœ์ปฌ ๋ณ€๊ฒฝ๋‚ด์—ญ์œผ๋กœ ๊ฐ€์ ธ์™€์ง‘๋‹ˆ๋‹ค.

 

์ด๊ฑธ ๋‹ค์‹œ commit & push ํ•ด์ฃผ๋ฉด ๋!

git commit -m [์ž…๋ ฅํ•˜๊ณ  ์‹ถ์€ ๋ฉ”์„ธ์ง€]
git push

 

cf) ์ด ๋ฐฉ๋ฒ• ์™ธ์—๋„ ์ƒˆ branch์— ์˜ฌ๋ฆฌ๊ณ  cherry pick์œผ๋กœ ๊ฐ€์ ธ์™€์„œ pushํ•œ ํ›„, branch๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์Šต๋‹ˆ๋‹น.

728x90