콘텐츠로 이동

커밋 되돌리기

커밋(commit)을 되돌리는 상황은 매우 많습니다.

  • 병합(merge)했더니 에러
  • 서버에 올려서 실행했더니 에러
  • 사전에 약속한 규칙을 지키지 않음
  • 커밋 메시지를 잘 못 작성함

위 사례 말고도 매우 많으나 간략하게 보면 대부분 저러한 사유입니다.

이 때 사용할 수 있는 방법은 reset 명령어입니다.

사용법

바로 직전 커밋으로 지정하는 방법은 HEAD^ 입니다.

git reset HEAD^

옵션

reset 명령어 뒤에 아래 옵션을 추가로 사용할 수 있습니다.

옵션 효과
--soft 커밋을 되돌리면서 생기는 차이점(변경 사항)을 스테이지(stage)에 추가(add)합니다.
--mixed 커밋을 되돌릴 때 사용되는 기본 옵션이며, 되돌리면서 생기는 차이점(변경 사항)을 작업 영역에 유지합니다.
--hard 커밋을 되돌리면서 생기는 차이점(변경 사항)을 삭제합니다. 순수한 해당 버전 상태로 돌아갑니다.

댓글