더북(TheBook)

9.2.7 커밋 합치기

앞에서는 리베이스 병합의 -i 옵션을 사용하면 여러 커밋을 하나로 합치는 동작을 수행할 수 있었습니다. 또 단일 커밋은 커밋 명령어의 --amend 옵션으로 커밋을 수정할 수 있었습니다. 리셋의 동작 원리를 이해하고 있다면, 커밋도 수정할 수 있습니다. 리셋의 soft 옵션은 HEAD를 해당 커밋으로 이동합니다. 그리고 원본 내용은 그대로 워킹 디렉터리에 남겨 둡니다.

실습으로 커밋을 수정해 봅시다. 수정하기 전에 먼저 로그를 확인해 보겠습니다.

infoh@DESKTOP MINGW64 /e/gitstudy09 (master)

$ git log --oneline 로그 확인

6619c99 (HEAD -> master) menu4

b728366 menu3

f1c704f menu2

b741eef menu1

69bf712 first

menu3menu4 커밋을 reset 명령어를 사용하여 하나로 합쳐 보겠습니다.

infoh@DESKTOP MINGW64 /e/gitstudy09 (master)

$ git reset --soft HEAD~2 2단계 전의 커밋으로 리셋(soft 옵션)

최신 커밋 HEAD를 기준으로 2단계 전 상태로 리셋됩니다. 즉, menu2를 가리키는 f1c704f 커밋을 의미합니다. 로그를 다시 실행합니다.

infoh@DESKTOP MINGW64 /e/gitstudy09 (master)

$ git log --oneline 로그 확인

f1c704f (HEAD -> master) menu2

b741eef menu1

69bf712 first

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.