2016-07-24 2 views
2

커밋 메시지에서 몇 마디의 철자가 잘못되었고이를 고치고 싶습니다. 그들은 마지막 커밋 (5 커밋) 이전이 아니기 때문에 --amend이 여기에서 작동하지 않습니다.지난 커밋 메시지 편집

이 실수를 수정하는 가장 쉬운 방법은 무엇입니까?

+0

이 도구를 사용할 수 있습니다 : https://git-scm.com/docs/git-filter-branch (다루기가 매우 어렵 기 때문에 튜토리얼을 찾아 볼 것을 권장합니다. GitHub 도움말 사이트) – TuringTux

+0

이전 commt에 rebase 한 다음 수정해야합니다. – Shravan40

+0

git rebase -i HEAD ~ 5 –

답변

2

변경할 커밋을 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)과 함께 사용하십시오.

+0

고마워요! 정확히 내가 무엇을 찾고 있었는지! –