1. git add 취소하기
실수로 파일을 잘못 올렸을 때 아래 명령어를 통해 git add를 취소할 수 있다.
git reset HEAD [file name]
특정 파일이 아니라 전체 파일에 대해서 git add를 취소하고 싶다면 file name 없이 git reset HEAD
를 해준다. 모든 파일에 대해서 git add를 취소할 수 있다.
2. git commit 취소하기
commit message를 변경하고 싶을 때 혹은 더 변경사항이 있는데 실수로 일찍 commit 했을 때 등 git commit을 취소 하고 싶으면 아래 명령어를 이용하면 된다.
git reset --soft HEAD^ # 가장 최근 commit 하나 취소
git reset HEAD~2 # 가장 최근 2개의 commit 취소
git reset [commit id] # 특정 시점의 commit 위치로 이동
원하는 commit 시점이 존재한다면 마지막 명령어를 이용하면 된다. git log
혹은 git log --oneline
등을 입력하면 아래 사진처럼 git의 commit 내역을 볼 수 있다.
만약 8a512e0
commit을 삭제하고 싶다면, git reset 7c65232
명령어를 통해 해당 commit 시점으로 이동할 수 있다.
reset 옵션
- soft : add한 상태, staged 상태, local 파일 보존
- mixed : add하기 전 상태, unstaged 상태, local 파일 보존 (기본 옵션)
- hard : add하기 전 상태, unstaged 상태, local 파일 보존x
3. git push 취소하기
2번을 참고하여 git commit을 취소한다. (원하는 commit 시점으로 이동한다.)
이동한 상태에서 commit을 다시 해주고, 강제로 push 해준다.
강제로 push 하는 명령어는 아래와 같다.
git push origin +[branch name]