git을 사용하다보면 개인정보가 담긴 파일을 푸시하는 등 푸시해서는 안되는 것을 올리는 경우가 종종 있을 것이다. 이럴 때 사용하면 유용하다.
git log
git reset HEAD^
(가장 최근의 커밋 기록을 1개 제거)
git reset --hard HEAD~1
(가장 최근의 커밋 기록을 2개 제거)
git reset --hard HEAD~2
git reset --hard <commit id>
git push -f origin <branch name>
staged된 파일이란 쉽게 설명하자면 git add된 파일이다. IDE를 사용하다보면 자동으로 git add되는 경우가 많은데 이럴 때 올려서는 안되는 파일도 staged되는 경우도 있다. commit하기 전 아래 명령어를 사용하자
git reset HEAD --<staged file>