git commit 취소하는 법
git log
HEAD^는 마지막 한 개의 커밋을 취소한다는 뜻이고,
두 개 부터는 HEAD~2이런식으로 쓰면 된다. 세 개는 HEAD~3.
예시 설명은 마지막 한 개의 커밋을 취소하는 상황으로 들겠다.
(1) --soft
commit을 취소하고, add되었던 해당 파일들은 그대로 add되어있는 상태(staged)를 유지하며, 워킹 디렉터리에 보존.
git reset --soft HEAD^
(2) --mixed (기본 옵션/생략 가능)
commit 을 취소하고, add되었던 해당 파일들은 add되어있지 않은 상태(unstaged)로 워킹 디렉터리에 보존.
git reset --mixed HEAD^
--mixed는 기본 옵션이기 때문에 생략해도 된다.
아래와 같이 써도 된다는 뜻이다.
git reset HEAD^
(3) --hard
commit을 취소하고, add되었던 해당 파일들은 add되어있지 않은 상태(unstaged)로 워킹 디렉터리에서 삭제.
git reset --hard HEAD^