git

[git] 가장 최근의 커밋 취소 (git reset HEAD^)

떨어지는 용 2023. 4. 20. 15:33

▶[git] 가장 최근의 커밋 취소 (git reset HEAD^)


▶설명


git 명령어 중에 가장 최근의 커밋(commit)을 취소하는 방법을 알아보도록 하겠습니다.

 

자주 사용하는 명령어라서 간단하게 명령어만 적도록 하겠습니다.

 

자세한 내용은 git 가이드 문서를 참고하시면 좋습니다.

 

참고 : https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Reset-%EB%AA%85%ED%99%95%ED%9E%88-%EC%95%8C%EA%B3%A0-%EA%B0%80%EA%B8%B0

 

Git - Reset 명확히 알고 가기

지금까지 reset 명령을 실행하는 기본 형태와 사용 방법을 살펴봤다. reset 명령을 실행할 때 경로를 지정하면 1단계를 건너뛰고 정해진 경로의 파일에만 나머지 reset 단계를 적용한다. 이는 당연한

git-scm.com

 

▶명령어


기본

git reset HEAD^

 

HEAD는 현재 브랜치를 가리키는 포인터입니다.

HEAD^ 의 경우 HEAD의 바로 이전 커밋(commit)으로 돌린다는 의미이다.

 

reset 에서 제공하는 옵션을 간단하게 정리하였습니다.

 

soft 

git reset --soft HEAD^
  • 커밋(commit) 취소
  • 커밋 취소된 파일은 스테이징으로 복구
  • 파일 수정사항 유지

 

mixed (기본 옵션)

git reset --mixed HEAD^

두 개의 명령어가 동일합니다.

git reset HEAD^
  • 커밋(commit) 취소
  • 커밋 취소된 파일은 스테이징 취소
  • 파일 수정사항 유지

 

hard

git reset --hard HEAD^
  • 커밋(commit) 취소
  • 커밋 취소된 파일은 스테이징 취소
  • 파일 수정사항 삭제

 

간단히 정리하면 아래의 표와 같습니다.

  커밋(Committed) 취소 스테이징(Staged) 취소 파일 수정사항(Modified) 취소
soft O X X
mixed O O X
hard O O O

 

▶마치며


git 을 사용할 때 정말 자주 사용하는 명령어입니다.

 

도움이 되었으면 좋겠습니다.