이미 푸시한 커밋 수정, 삭제하기
아직 Push 하지 않은 커밋을 변경하고 싶다면, git commit --amend -m 등의 명령어로 변경하면 된다.
하지만 이미 Push한 커밋 내역을 변경하고 싶거나 제거하고 싶다면 어떻게 해야할까?
How to do - git reset, git push –force을 이용
1 - 수정 하려고 하는 커밋 이전의 내역으로 되돌아간다.
git reset
명령어로 head를 수정하려고 하는 (지우려고 하는) 커밋 이전으로 되돌아간다.
1
| $ git reset --hard <commit ID>
|
2 - 내역을 수정한다.
git add, commit
등 다른 명령어를 사용해 변경하려고 하는 작업을 한다.
해당 커밋 내역을 제거하고 싶은 경우엔 스킵한다.
3 - push 명령어로 덮어 쓴다.
push 명령어에서 force 옵션을 사용해 이미 Push 되어 있는 커밋 내역을 덮어씌운다.
(기존의 커밋 내역은 사라지고 되돌릴 수 없다)
force 옵션 없이는 push 되지 않는다.
git rebase를 활용하는 방법
더 구체적으로 커밋 히스토리를 변경하는 방법으로, rebase 명령어를 활용하는 방법이 있다