결론부터 정리하면 '커밋 이력의 HEAD를 이전 커밋으로 바꿔서 강제푸쉬 하는 방법' 을 쓴다.
-> 이것의 문제는 'HEAD로 설정한 커밋 이후의 작업을 모두 날린다' 는 것에 있다. 그래서 작업한 내역이 있다면 반드시 백업이 필요하다.
나는 코드를 지우는 작업의 커밋이라 상관없어서 그냥 진행했다. 단계는 다음과 같다.
- git log --oneline 입력
- 커밋번호 확인 및 복사 후 빠져나오기
-> 이때 망친 커밋 이전의 커밋번호를 확인해야 걔를 HEAD로 잡는다- git reset --hard (위에서 복사한, 돌아가고 싶은 커밋의 번호)
- git push -f
이렇게 하면 3번 단계에서 HEAD로 잡은 것이 마지막 푸쉬 이력이 되고, 잘못된 푸쉬는 깃헙에서도 이력이 지워진다.