[git] 가장 최근의 커밋 취소 (git reset HEAD^)
git reset HEAD^
HEAD는 현재 브랜치를 가리키는 포인터입니다.
HEAD^ 의 경우 HEAD의 바로 이전 커밋(commit)으로 돌린다는 의미이다.
reset 에서 제공하는 옵션을 간단하게 정리하였습니다.
git reset --soft HEAD^
커밋(commit) 취소
커밋 취소된 파일은 스테이징으로 복구
파일 수정사항 유지
git reset --mixed HEAD^
두 개의 명령어가 동일합니다.
git reset HEAD^
커밋(commit) 취소
커밋 취소된 파일은 스테이징 취소
파일 수정사항 유지
git reset --hard HEAD^
커밋(commit) 취소
커밋 취소된 파일은 스테이징 취소
파일 수정사항 삭제
간단히 정리하면 아래의 표와 같습니다.
커밋(Committed) 취소 | 스테이징(Staged) 취소 | 파일 수정사항(Modified) 취소 | |
---|---|---|---|
soft | O | X | X |
mixed | O | O | X |
hard | O | O | O |
참고1: https://extbrain.tistory.com/146 [확장형 뇌 저장소:티스토리]
참고2: 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