커밋 메시지에서 몇 마디의 철자가 잘못되었고이를 고치고 싶습니다. 그들은 마지막 커밋 (5 커밋) 이전이 아니기 때문에 --amend
이 여기에서 작동하지 않습니다.지난 커밋 메시지 편집
이 실수를 수정하는 가장 쉬운 방법은 무엇입니까?
커밋 메시지에서 몇 마디의 철자가 잘못되었고이를 고치고 싶습니다. 그들은 마지막 커밋 (5 커밋) 이전이 아니기 때문에 --amend
이 여기에서 작동하지 않습니다.지난 커밋 메시지 편집
이 실수를 수정하는 가장 쉬운 방법은 무엇입니까?
변경할 커밋을 git log --oneline
으로 식별하십시오.
$ git log --oneline
5ebe0d0 foo
66096c8 bar
d83d7a7 *typo*
a9f4c59 baz
...
그런 다음합니다 (^
로 식별)이 커밋의 부모에 대화 형 REBASE을한다.
$ git rebase --interactive 'd83d7a7^'
이렇게하면 기본 편집기가 실행됩니다. 변경하지 않은 경우 vim을 사용해야합니다.
는 (이 정력 덜 편안하게 사람들을위한 것입니다.)
를 눌러 C w단어 edit
를 입력합니다. esc을 입력하고 :wq
을 입력하여 파일을 저장하고 종료하십시오.
이제 수행해야 할 작업은 git commit --amend
이므로 커밋 메시지를 편집하라는 메시지가 표시됩니다. 그런 다음 git rebase --continue
으로 rebase를 완료하십시오.
참고 : 병합 기록이있는 경우 병합 기록이 병합됩니다. 정말로 이것을 원하지 않는다면, 옵션을 git rebase
(물론 --interactive
)과 함께 사용하십시오.
고마워요! 정확히 내가 무엇을 찾고 있었는지! –
이 도구를 사용할 수 있습니다 : https://git-scm.com/docs/git-filter-branch (다루기가 매우 어렵 기 때문에 튜토리얼을 찾아 볼 것을 권장합니다. GitHub 도움말 사이트) – TuringTux
이전 commt에 rebase 한 다음 수정해야합니다. – Shravan40
git rebase -i HEAD ~ 5 –