기존의 commit message가 commit 내용에 적절하지 않거나,
다른 내용으로 commit message를 수정해야 할 때 사용할 수 있습니다.
임의의 파일에 "git commit --ammend 사용해보기" 라는 내용을 작성하고 저장합니다.
git commit -am "my mistake"
git commit --amend
해당 명령어를 사용하면 Vim으로 commit message를 수정하는 에디터가 열립니다.
해당 공간에 기존의 commit message 내용을 삭제하고 수정된 commit message를 적습니다.
git commit --amend
이전 commit에 추가로 변경사항을 담고 싶을때도 사용할 수 있습니다.
git add .
를 사용하여 코드의 변경사항을 stagingn area에 넣어줍니다.
이후, git commit --amend
를 사용하여 다시 commit을 실행해 줍니다.
마지막 commit에 원하던 변경사항이 추가 되었습니다.
git commit --amend -m "수정되는 commit message내용"
commit -m "메시지 내용"
과 같이 --amend
를 적용할 때 message도 적용할 수 있는 설정입니다.
git rebase -i (대상 바로 이전 커밋 해시)
과거 커밋 내역을 다양한 방법으로 수정 합니다.
깃은 모든 commit 내용들이 순차적으로 저장됩니다.
깃에서 과거에 어떤 내용을 수정하기 위해서는 이전 커밋부터 다음까지 새로운 브랜치를 전부 수정한 다음
이후 commit을 통채로 모두 대체하기 때문에 rebase를 사용합니다.
명령어 | 설명 |
---|---|
p, pick | 커밋 그대로 두기 |
r, reword | 커밋 메시지 변경 |
e, edit | 수정을 위해 정지 |
d, drop | 커밋 삭제 |
s, squash | 이전 커밋에 합치기 |
edit
edit을 하게 되면 두개가 commit된 상태로 되돌아 갑니다.
git에 저장된 파일은 그대로 두고 commit전으로 되돌리기 위해서
git reset HEAD^
명령어로 reset시킵니다.
변경할 파일의 내용들은 남아있고 commit되기 전 상태입니다.
이후, 개별 commit또는 원하는 edit을 완료한 후에
원하는 부분만 나누어 commit 할 때는 별도로add .
,commit
하고,
git rebase --continue
명령어를 이용하여 rebase를 마무리 합니다.