git rebase 를 사용한다.

git rebase -i HEAD~3

최근 3개의 커밋 내역을 상호작용 모드(vi 에디터)로 보여준다.

pick 12341231 test: 테스트 코드 작성1
pick 12341234 test: 테스트 코드 작성2
pick 1234123a test: 테스트 코드 작성3

pick이라고 쓰여있는 키워드를 수정함으로써 여러가지 동작을 수행할 수 있다.

  • pick: 해당 커밋을 사용한다.
  • reword: 해당 커밋의 커밋 메시지를 수정해서 사용한다.
  • edit: use commit, but stop for amending.
  • squash: 해당 커밋을 사용하는데, 이전 커밋에 섞는다.
  • fixup: squash와 같은 동작을 하지만, 이전 커밋 메시지를 사용한다.
  • exec: shell 을 이용해 커밋을 실행한다.
  • break: 여기서 멈춘다…?
  • drop: 커밋을 삭제한다.
  • label: 현재 HEAD에 이름으로 label 지정
  • reset: HEAD를 label로 재설정
  • merge: 머지 커밋을 작성한다.