git reset --hard HEAD^
최신 커밋이 취소, 작업 디렉토리와 스테이지 영역의 변경 사항 모두 삭제 -> 이전 커밋 상태로 돌아감
git reset --soft HEAD^
최신 커밋 취소, 변경 내용은 스테이징 영역에 유지
작업 디렉토리의 변경 내용 유지 -> add만 된 상태
git reset --mixed HEAD^
최신 커밋을 취소, 변경 내용은 작업 디렉토리에 유지하면서 스테이징 영역 취소 -> add 필요한 상태
명령어 | 상태 | 로컬(작업 디렉토리) | 스테이징 |
---|---|---|---|
hard | 이전 커밋 | 변경 내용 삭제 | 변경 내용 삭제 |
soft | 마지막 작업 | - | 변경 내용 유지 |
mixed | 마지막 작업 | 변경 내용 유지 | 취소 |