Skip to content

Latest commit

ย 

History

History
50 lines (30 loc) ยท 3.46 KB

File metadata and controls

50 lines (30 loc) ยท 3.46 KB

Git ์ปค๋ฐ‹ ํ•˜๋‚˜๋งŒ ๋˜๋Œ๋ฆฌ๋Š” ๋ฒ•

ํ˜‘์—…์„ ํ•˜๋‹ค๊ฐ€ ๋ณด๋ฉด, branch๋ณ„๋กœ git์„ ๊ด€๋ฆฌํ•œ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ ๋„์ค‘์— ๊ธฐ๋Šฅ์„ ์‚ญ์ œํ–ˆ๋Š”๋ฐ ๊ธฐ๋Šฅ์„ ๋‹ค์‹œ ๋˜๋Œ๋ ค์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์ด๋ฏธ ๋ช‡๊ฐœ์˜ ์ปค๋ฐ‹์„ ํ‘ธ์‰ฌํ•ด๋ฒ„๋ฆฐ ์ƒํ™ฉ์ด์—ˆ๋‹ค. ๊ทธ๋‚˜๋งˆ ์ƒํ™ฉ์ด ๊ดœ์ฐฎ์•˜๋˜ ๊ฒƒ์€ ๋‚ด๊ฐ€ Commit์„ ๊ธฐ๋Šฅ์‚ญ์ œํ•œ ๋ถ€๋ถ„์„ ๋”ฐ๋กœ ์ปค๋ฐ‹์„ ํ–ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿด์ค„์•Œ๊ณ  ๊ทธ๋Ÿฌ๋ฉด **์ด ๊ธฐ๋Šฅ ์‚ญ์ œ ์ปค๋ฐ‹๋งŒ ๋นผ๊ณ  ** ๋‚˜๋จธ์ง€ ์ปค๋ฐ‹์„ ์‚ด๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์€ ๋ญ˜๊นŒ?

Commit์„ ๋˜๋Œ๋ฆฌ๊ธฐ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋‚˜, ๊ฒ€์ƒ‰ํ•ด๋ณธ ๊ฒฐ๊ณผ ๊นƒ ๋ฆฌ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ๋‹ค.

git rebase -i HEAD^^ or
git rebase -i <์ปค๋ฐ‹hash๊ฐ’>

git Rebase๋ฅผ ํ†ตํ•ด์„œ ์ด์ „์˜ ์ปค๋ฐ‹์„ ํ†ตํ•ด์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค.

์Šคํฌ๋ฆฐ์ƒท 2020-08-14 ์˜คํ›„ 1 23 55

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด ์ปค๋ฐ‹์„ ์‚ด๋ฆด์ง€ ์ฃฝ์ผ์ง€๋ฅผ git CLI๋ฅผ ํ†ตํ•ด์„œ ๊ฒฐ์ •์„ ํ•  ์ˆ˜ ์žˆ๊ณ  ์‹ค์ œ๋กœ ์ด ์ปค๋ฐ‹์€ ์ตœ์‹ ์ˆœ์ด ์•„๋‹Œ ์—ญ์ˆœ์œผ๋กœ ๋ฐฐ์—ด๋˜์–ด ํ•œ๊ฐœ์”ฉ ํ•œ๊ฐœ์”ฉ ์ฒดํฌํ•˜๋ฉด์„œ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

์ง€๊ธˆ ๋‚ด๊ฐ€ ์ฒ˜ํ•œ ๊ฒฝ์šฐ๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ ์ปค๋ฐ‹์„ ์ง€์šฐ๊ฒŒ๋˜๋ฉด ์‚ญ์ œ๋œ ํŒŒ์ผ์„ ๋‹ค์‹œ ๋˜์‚ด๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ ์ปค๋ฐ‹๋งŒ ๋นผ๊ณ  ๋‚˜๋จธ์ง€ ์ปค๋ฐ‹์€ ์œ ์ง€๋œ ์ƒํƒœ๋กœ ๋Œ์•„์˜ค๊ฒŒ ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์ด๋Œ€๋กœ PUSH!ํ•˜๋ฉด ๋ ์ค„ ์•Œ์•˜๋Š”๋ฐ.... ๋˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ด Push ๋ฐฉํ–ฅ์ด master branch๋กœ Push๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ถ„๋ช… ๋‚ด๊ฐ€ ์“ฐ๋˜ feature/000 ๋ธŒ๋žœ์น˜๋กœ pushํ•˜๊ณ  ์‹ถ์€๋ฐ ๊ทธ๊ฒŒ ์•ˆ๋œ๋‹ค... ์™œ ์ด๋Ÿฐ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ๋Š”์ง€๋ฅผ ์•Œ์•„๋ณด๋ฉด git branch๋ฅผ ๋ณด๋ฉด ์ด๋Ÿฐ ๋ฌธ๊ตฌ๊ฐ€ ์ ํ˜€์žˆ๋‹ค.

Detached HEAD

์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ๋Š” github Desktop์—์„œ๋Š” ์žฌ๋Œ€๋กœ ์–ด๋–ค ์ž‘์—…๋„ ํ•  ์ˆ˜ ์—†๊ธฐ๋•Œ๋ฌธ์— CLI๋ฅผ ์ด์šฉํ•ด์„œ ํ•ด๊ฒฐํ•ด์•ผํ–ˆ๋‹ค.

์ฐธ๊ณ  ์‚ฌํ•ญ!

์™œ Detached HEAD ์ƒํƒœ๊ฐ€ ๋˜์—ˆ๋Š”๊ฐ€์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•ด๋ดค๋Š”๋ฐ ์‹ค์ œ๋กœ ๋‚ด๊ฐ€ ์ด ์ปค๋ฐ‹์„ ๋Œ๋ฆด๋•Œ๋Š” commit์˜ ์ฃผ์†Œ ์ฆ‰ hash๊ฐ’์„ ํ†ตํ•ด์„œ ๋Œ๋ ธ๋‹ค.

์ด ๋ฐฉ์‹์€ ๋น„์Šทํ•˜๊ฒŒ๋„ checkout์—์„œ๋„ ์ปค๋ฐ‹์˜ ํ•ด์‰ฌ๋กœ ์‹คํ–‰ํ•˜๊ฒŒ๋˜๋ฉด Detached HEAD ์ƒํƒœ๊ฐ€ ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ฆ‰, commit์˜ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด์„œ rebase๋ฅผ ํ•˜๊ฑฐ๋‚˜ checkout์„ ํ•˜๊ฒŒ๋œ ๊ฒฝ์šฐ๋Š” ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด๋‹ค.

CLI๋ฅผ ํ†ตํ•ด์„œ detached Head ๋œ branch๋ฅผ ๋‹ค์‹œ ์›๋ž˜ branch์— ๋ถ™์ด๊ณ  ์‹ถ๋‹ค๋ฉด ์ปค๋ฐ‹ํ•œ ํ›„์—

git checkout -b <branch> ex)feature/0000 ์š”๋กท๊ฒŒ?

ํ•˜๊ฒŒ๋œ๋‹ค๋ฉด ์‹ค์ œ๋กœ branch๊ฐ€ ์ƒ์„ฑ๋˜์–ด github์— ์ƒ์„ฑ์ด ๋ ๊ฒƒ์ด๋‹ค. checkout -b ์˜ต์…˜์€ ์ƒˆ๋กœ์šด branch๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์˜ต์…˜์ด๋‹ค

์ฆ‰, ์ด ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋œ branch๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์›๋ž˜ branch์— ๋ถ™์ด๋Š” ๋ฐฉ์‹์„ ํƒํ•˜๊ฑฐ๋‚˜ ํ˜น์€ ์•„์˜ˆ Develop branch์— mergeํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํƒํ•ด๋„ ๋œ๋‹ค. ์ด๋ฏธ rebase๋œ ์ƒํƒœ๋ผ ์ด์ „ feature/000์—์„œ ์ˆ˜์ •๋˜์–ด์ง„ ๊ฐ’์€ ์œ ์ง€๋œ ์ƒํƒœ์ด๊ธฐ๋•Œ๋ฌธ์— ํฐ ๊ฑฑ์ •์€ ์•ˆํ•ด๋„๋œ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ๋‘๊ฐœ์˜ branch๊ฐ€ ์ƒ๊ธฐ๋ฉด ์ด๋ ‡๊ฒŒ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์บก์ฒ˜

์ถœ์ฒ˜:https://superuser.com/questions/35267/how-can-i-roll-back-1-commit

https://okky.kr/article/440421

http://www.devkuma.com/books/pages/433