로컬에서만
commit
하고 원격에push
하기 전일 때 커밋 삭제하는 방법
해당 프로젝트 디렉토리에서 터미널을 열고 아래 명령어를 입력해준다.
git reset --soft HEAD~1
이 명령어는 가장 최근 커밋을 삭제하고, 변경사항은 스테이징 상태로 유지한다. soft
대신 hard
를 입력할 경우 변경사항이 함께 삭제된다.
원격 저장소(
Github
)에까지 적용된 사항을 삭제하는 방법
git rebase -i HEAD~1
1
대신 삭제하고 싶은 최근 커밋의 개수를 입력해도 된다.
에디터가 열린다. (기본 모드
)
이 상태에서 i
를 누르면 수정 모드
가 된다. 삭제하고 싶은 커밋 해시 앞의 pick
을 drop
으로 수정한다.
esc
키를 눌러 수정 모드를 종료하고 기본 모드로 돌아간다.
:wq
(저장 후 종료)를 입력하고 return(enter)
을 누른다.
터미널에서 강제 push
명령어를 입력
git push origin <브랜치이름> --force
여기까지 하고 깃헙에 들어가보면 커밋이 삭제된 걸 확인할 수 있을 것이다.