[Git] commit, push 삭제하기

Emily·2025년 7월 1일
post-thumbnail

1. commit 취소

로컬에서만 commit하고 원격에 push하기 전일 때 커밋 삭제하는 방법

해당 프로젝트 디렉토리에서 터미널을 열고 아래 명령어를 입력해준다.

git reset --soft HEAD~1

이 명령어는 가장 최근 커밋을 삭제하고, 변경사항은 스테이징 상태로 유지한다. (soft 대신 hard를 입력할 경우 변경사항이 함께 삭제된다.)

2. push 취소

push를 취소하고 commit 상태 유지하기

git reset --soft HEAD~1
git push --force

원격 저장소(Github)에서 commit 내역이 삭제되고, 로컬에서는 변경사항이 스테이징 상태가 된다.

3. commit, push 모두 삭제

01) hard로 commit 취소

git reset --hard HEAD~1
git push --force

이 명령어를 사용하면 원격 push가 삭제될 뿐만 아니라 로컬에서도 commit 했던 변경사항이 모두 사라진다.

02) rebase 사용

  1. 터미널에서 명령어 입력
git rebase -i HEAD~1

1 대신 삭제하고 싶은 최근 커밋의 개수를 입력해도 된다.

  1. 에디터가 열린다. (기본 모드)

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

  3. esc 키를 눌러 수정 모드를 종료하고 기본 모드로 돌아간다.

  4. :wq(저장 후 종료)를 입력하고 return(enter)을 누른다.

  5. 터미널에서 강제 push 명령어를 입력

git push origin <브랜치이름> --force
profile
iOS Junior Developer

0개의 댓글