git reset HEAD [file 이름]
뒤에 파일 명이 없으면 add한 파일 전체를 취소한다.
git checkout -- [file 이름]
변경사항을 취소하고 원래대로 되돌린다.
git log --oneline
위와 같이 커밋 내역을 확인할 수 있다.
git reset --hard/soft/mixed [commit code]
git reset --hard
는 원하는 커밋으로 되돌아가는 기능을 수행한다.
커밋 확인하기 의 이미지를 보면 제일 최근의 커밋은 2a9ca18
임을 알 수 있다.
이 커밋을 취소하고 싶으면 바로 이전의 커밋인 2d36229
로 돌아가면 된다.
따라서 git reset --hard 2d36229
를 입력하면 가장 최근의 커밋을 취소할 수 있게 된다. (코드도 날아감!🔥)
---hard와 같이 사용하면 된다.
🔥 하지만 --soft는 코드가 날아가지 않고 변경 내용은 남아있다. add는 되어 있지 않은 상태로 되돌아간다.
위와 같은 방법으로 사용하면 되지만 --mixed는 코드가 날아가지 않고 변경 내용이 남아 있으며 인덱스도 갱신 되어 있다. 즉, add가 되어있는 상태에서 커밋만 취소하는 기능이다.