git log
-p
: diff 결과 출력
-2
: 최근 2개만
--oneline
: 각 commit을 한 줄로
--graph
: 아스키 그래프 형식으로
git reflog
삭제한 commit도 이력이 남아있다.
git reset
돌아가고 싶은 commit으로 reset
할 때,
--hard
: reset하기 전까지 했던 staging area, working directory의 작업까지 모두 reset!
(모든 게 잘못됐어! 나 돌아갈래~ 꽃피던 때부터 정갈하게 다시 해보자!)
--mixed
(default): staging area은 reset, reset하기 전까지 했던 working directory의 작업은 남겨둠.
(현재 작업물은 지우긴 싫고, 이전 버전으로 돌아가서 add할지 말지 결정해야 할 때)
--soft
: reset하기 전까지 했던 staging area, working directory의 작업은 남겨둠.
(reset한 버전과 현재까지의 작업을 합쳐 새로운 버전 만들 때)