less than 1 minute read

프로젝트를 진행하다가 이상한 걸 remote에 푸쉬해버리는 바람에 커밋 기록 삭제하는 방법을 찾아 다녔다.
reset과 revert로도 할 수 있다는데,,,
reset은 잘못하다가 커밋을 전부 날려 버릴 것 같아 사용하지 않았고
revert는 과정이 어려웠다.
그래서 위험하지만 성능 확실한 rebase로 커밋 기록을 삭제했다.

내가 한 방식은 rebase로 커밋 목록 보고 삭제하고 싶은 해당 커밋을 drop해준 다음에
remote에 푸쉬해주면 쉽게 커밋을 없애버릴 수 있었다.

1
git rebase -i HEAD~?

?는 최근 커밋부터 ?에 넣을 숫자만큼 커밋 기록을 보여준다.
그래서 삭제할 커밋 메세지 or 커밋 해쉬 코드(git log를 통해 볼 수 있음)를 찾아
pick -> drop으로 변경해주고
remote에 강제로 보내버리면 끝.

1
git push -f 별명 브랜치