git reset

명령어 설명

HEAD의 위치를 이전 특정 커밋으로 되돌리는 기능. 버전을 완전히 되돌리는 것으로, 해당 커밋 이후의 커밋 이력이 삭제된다.

기본 사용법

1
git reset [mode] <commit>  # mode : 모드 / <commit> 되돌리려고 하는 타겟 커밋
구분 hard mixed soft
깃 저장소(커밋 이력) 타겟 커밋때로 되돌림 타겟 커밋때로 되돌림 타겟 커밋때로 되돌림
작업 디렉터리 타겟 커밋때로 되돌림 유지함 유지함
스테이지 영역 타겟 커밋때로 되돌림 타겟 커밋때로 되돌림 유지함

옵션

옵션 full name 설명
없음   --mixed 옵션과 동일하다.
--hard <commit>   지정한 커밋의 내용으로 작업 디렉터리, 스테이지 영역, 깃 저장소를 모두 재설정
커밋 이력과 세 가지 작업 영역을 모두 이전 커밋 시점으로 되돌린다.
--mixed <commit>   지정한 커밋의 내용으로 깃 저장소(커밋 이력)을 되돌리고, 스테이지 영역도 되돌린다.
작업 디렉터리는 그대로 유지된다.
--soft <commit>   지정한 커밋의 내용으로 깃 저장소(커밋 이력)만 되돌린다.
스테이지 영역과 작업 디렉터리는 그대로 유지된다.

Reference

UNIX시스템 - 김희천,김진욱 저