git에서 과거 커밋을 수정하고 싶습니다.

2896 단어 SourceTreeGit
※【수정했습니다】SourceTree를 사용하면 잘 되지 않는 일이 여러 번 있었으므로, SourceTree는 사용하지 않고 커멘드 라인을 사용해 작업합니다.

이 커밋을 수정하고 싶습니다.



구체적으로는, 「이 행을 쓰지 않았다」로 하고 싶다고 합니다.



아래 준비로 git의 editor를 지정해 둡니다.

~/.gitconfig
...
[core]
        editor = /usr/bin/vim
        ...
...

먼저 수정하고 싶은 커밋 중 하나 이전 커밋의 해시를 복사합니다.



콘솔에서 다음과 같이 치십시오.
$ git rebase -i c06c668

그러면 이런 vim 편집중의 화면이 나타납니다.



수정하려는 커밋을 'edit'로 변경하여 저장합니다.



그러면 이런 화면이 나타납니다.



SourceTree에서 보면, 이렇게 되어 있습니다.



수정합니다.
$ vi convertImage.py

그러면 SourceTree는, 이런 느낌이 됩니다.



커밋합니다.
$ git commit --amend

나머지 커밋을 적용합니다.
$ git rebase --continue

도중에 충돌이 일어났을 때는 보통에 대처해, 다시 git rebase --continue 합니다.

이제 과거 커밋이 다시 작성됩니다.

이번 기사의 내용은 전면적으로 @utwang군에게 가르쳐 준 것입니다. 감사!

(SourceTree 단체로 하는 방법이 있으면, 꼭 가르쳐 주세요)

블로그를하고 있습니다 : Weed software

좋은 웹페이지 즐겨찾기