[Git]git commit/git push 취소하기

Ming·2022년 11월 12일
0

git commit 취소하기

  • commit 목록 확인
    git log
  • 방법 1 : commit을 취소하고 해당 파일들은 staged 상태로 Working Directory에 보존
    git reset --soft HEAD^
  • 방법 2 : commit을 취소하고 해당 파일들은 unstaged 상태로 Working Directory에 보존
    git reset --mixed HEAD^
    git reset HEAD^
  • 방법 3 : commit을 취소하고 해당 파일들은 unstaged 상태로 Working Directory에 삭제
    git reset --hard HAED^

💡 reset 옵션

  • soft : index 보존(add한 상태, staged 상태), 워킹 디렉터리의 파일 보존.
  • mixed : index 취소(add하기 전 상태, unstaged 상태). 워킹 디렉터리의 파일 보존
  • hard : index 취소(add하기 전 상태, unstaged 상태). 워킹 디렉터리의 파일 삭제

git push 취소하기

이 경우는 자신의 local 내용을 remote에 강제로 덮어쓰기 하는 것이기 때문에 주의해야한다.

가장 최근의 commit을 취소하고 Working Directory를 되돌리는 경우

git reset HEAD^

원하는 시점으로 Working Directory를 되돌리는 경우

  • reflog(브랜치와 HEAD가 가리켰었던 커밋) 목록 확인
    git reflog
    //or
    git log -g
  • 원하는 시점으로 Working Directory 되돌리기
    git reset HEAD@{number}
    //or
    git reset [commit id]
  • 되돌린 시점으로 remote 변경하는 경우
    git push -f origin main
    git push -force 브랜치 이름

0개의 댓글