로컬에서만
commit하고 원격에push하기 전일 때 커밋 삭제하는 방법
해당 프로젝트 디렉토리에서 터미널을 열고 아래 명령어를 입력해준다.
git reset --soft HEAD~1
이 명령어는 가장 최근 커밋을 삭제하고, 변경사항은 스테이징 상태로 유지한다. (soft 대신 hard를 입력할 경우 변경사항이 함께 삭제된다.)
push를 취소하고commit상태 유지하기
git reset --soft HEAD~1
git push --force
원격 저장소(Github)에서 commit 내역이 삭제되고, 로컬에서는 변경사항이 스테이징 상태가 된다.
git reset --hard HEAD~1
git push --force
이 명령어를 사용하면 원격 push가 삭제될 뿐만 아니라 로컬에서도 commit 했던 변경사항이 모두 사라진다.
git rebase -i HEAD~1
1 대신 삭제하고 싶은 최근 커밋의 개수를 입력해도 된다.
에디터가 열린다. (기본 모드)

이 상태에서 i를 누르면 수정 모드가 된다. 삭제하고 싶은 커밋 해시 앞의 pick을 drop으로 수정한다.

esc 키를 눌러 수정 모드를 종료하고 기본 모드로 돌아간다.
:wq(저장 후 종료)를 입력하고 return(enter)을 누른다.
터미널에서 강제 push 명령어를 입력
git push origin <브랜치이름> --force