어쩌다보니 멍청하게도 코드를 잘못 작성하여 commit했다.
문제는 바로 전의 커밋이 아니라 그 이전의 커밋이라 git commit --amend
로 수정이 불가능하다는 것이었다...
그래서 찾아보니 rebase --interactive
명령으로(또는 rebase -i
) 수정이 가능하다고 한다.
(https://github.com/HomoEfficio/dev-tips/blob/master/Git 과거의 특정 커밋 수정하기.md)
그래서 따라해보았다.
git log
명령으로 수정하려는 커밋의 이전 커밋 ID를 확인한다.git rebase -i <수정하려는 커밋의 이전 커밋>
을 실행한다.git add .
와 git commit --amend
명령을 입력한다.git rebase --continue
명령을 입력하면 끝git show
명령으로 확인해보면 해당 내용이 바뀐 것을 알 수 있다.참고로 원격 저장소에 올라간 커밋은 위와 같이 수정하기가 어렵다.
평소처럼 git fetch
와 git rebase
또는 git merge
를 사용하면 특정 커밋 수정이 적용되지 않는다.
그래서 git push —force
를 해야 하는데 위험하니까 웬만하면 하지 말자
아무튼 커밋을 할 때 좀 더 신중히 하자