git status # Example1.txt를 생성하고
git add .
git commit -m "Add Example1.txt"
git status # Example1.txt에 내용을 작성하고
git add .
git commit -m "Update Example1.txt"
git status # Example1.txt를 삭제하고
git add .
git commit -m "Delete Example1.txt"
git status # Example2.txt를 생성하고
git add .
git commit -m "Add Example2.txt"
git log
여기서 Delete Example1.txt 커밋 메세지를 Drop Example1.txt로 수정하고자 한다면?
git rebase -i HEAD~3
git rebase -i HEAD~3
-i : interactive mode
HEAD~3 : 헤드 기준(앞쪽에서) 최근 3개의 커밋만 출력
git rebase -i <해쉬값> : 해쉬값 이후로 갱신된 모든 커밋
rebase이후 상위 3개의 커밋 내역이 나타납니다.
아래에 p, r, 등등 명령어가 표시되어 있네요.
<a>를 입력해서 수정모드로 들어가고
Delete Example1.txt에 해당하는 커밋을 수정하기 위해 pick을 reword로 수정합니다.
이후 <ESC> <:wq!>으로 탈출합니다.
그러면 Delete Example1.txt의 커밋 내역이 수정할 수 있도록 표시되는데
내용을 수정하고 위와 똑같은 방법으로 탈출합니다.
이후 로그를 확인해 보면 정상적으로 커밋 내역이 바뀐 것을 볼 수 있습니다.
drop으로 파일을 삭제한 커밋을 제거하면 -> 다시 Example1.txt가 생성됩니다.
* drop으로 커밋을 삭제하는 것은 다수 개발자가 이용하는 환경에서는 권장되지 않습니다.
댓글