수정을 원하는 커밋의 이전 커밋 해시를 입력해서 커밋을 수정할 수 있다.
git rebase -i <커밋 해시>
해당 명령어 입력 시 터미널에서 vim에디터 출력
pick <커밋 해시> <커밋 이름>
pick <커밋 해시> <커밋 이름>
pick <커밋 해시> <커밋 이름>
pick <커밋 해시> <커밋 이름>
...
commands:
#명령어들
..
..
vim 에디터에서 i키(insert)를 눌러서 INSERT 모드에 들어간 뒤, 수정할 수 있다.
이후 :wq를 입력해 저장 후 종료
1️⃣ pick
> 해당 커밋 수정없이 사용할 것.
커밋 순서를 서로 변경해놓으면 변경된 순서가 적용되어진다.
커밋을 지우면 해당 커밋이 삭제된다.
2️⃣ reword
reword <커밋해시> <커밋이름>
로 해놓고 vim을 종료하면,
vim에서 해당 커밋의 커밋 메시지를 수정할 수 있다.
3️⃣ edit
edit <커밋해시> <커밋이름>
로 해놓고 vim을 종료하면,
해당 커밋으로 HEAD가 옮겨진다.
git commit --amend
를 통해 커밋 메시지를 수정.
> reword 명령어처럼 커밋 메시지를 수정할 수 있는 vim이 나온다. 동일하게 커밋 메시지 수정.
커밋 사이에 새로운 커밋을 추가하려면 이 상태에서 새로운 커밋을 생성해주면 된다.
수정이 완료되면 아래 명령어를 입력해 진행하면 된다.
git rebase --continue
4️⃣ squash, fixup
squash <커밋해시> <커밋이름>
# or
fixup <커밋해시> <커밋이름>
squash는 해당 커밋을 다음 커밋에 합쳐준다. 커밋 메시지도 합쳐져서 확인할 수 있다.
fixup은 커밋을 합치지만, 이전의 커밋 메시지만 남긴다.
5️⃣drop
drop <커밋해시> <커밋이름>
해당 커밋을 삭제, 커밋이 완전히 삭제된다.
'GIT' 카테고리의 다른 글
GIT - 브랜치 보호하기(Review Approving) (1) | 2023.04.13 |
---|
댓글