git reset 005ba91_커밋 해시(이 커밋으로 되돌리겠다) --hard_옵션 의 명령어를 통해 상태를 되돌릴 수 있다.
옵션
--hard: reset하기 전까지 했던 staging area, working directory의 작업까지 모두 reset! (모든 게 잘못됐어! 나 돌아갈래~ 꽃피던 때부터 정갈하게 다시 해보자!)
--mixed(default): staging area은 reset, reset하기 전까지 했던 working directory의 작업은 남겨둠. (현재 작업물은 지우긴 싫고, 이전 버전으로 돌아가서 add할지 말지 결정해야 할 때) --soft: reset하기 전까지 했던 staging area, working directory의 작업은 남겨둠. (reset한 버전과 현재까지의 작업을 합쳐 새로운 버전 만들 때)
> B_2에서 C_3으로의 내용 변경을 진행하고 commit까지 한 상황일 때,
git reset --hard B의 경우 3이라는 내용을 커밋했던 모든 과정이 사라지는 것으로 2의 내용으로 돌아가는 것
git reset --mixed B의 경우에는 3이라는 내용을 커밋했던 과정은 사라지지만 working dir에서 3이라는 내용을 작성했던 것은 남아있는 상태로 돌아가는 것
git reset --soft B의 경우에는 3이라는 내용을 최종으로 repo에 올렸던 과정만 사라지는 것으로 working dir에서 staging로 3이라는 내용을 올린 것 상태로 돌아가는 것이다.