git reset HEAD
커밋을 이미 깃허브에 push
했는데, 취소하고 싶을 때가 있을 것이다.
이럴때 참고하기 위해 정리를 해보려고 한다.
이 방법은 작업 내용을 원격저장소에 강제로 덮어쓰게 하므로 다른 사람의 커밋내용이 지워질 수 있기 때문에 신중하게 진행해야 한다 !
commit
을 취소하고 강제 push
하기이미 커밋을 push
한 상태에서 커밋을 수정하고 싶은데,
커밋을 다시만들어 보내자니 히스토리가 지저분해지는게 싫었다.
이럴때는 커밋을 취소하고 강제로 push
해주어 커밋도 수정하고 히스토리도 깔끔하게 관리할 수 있다.
이때 커밋을 취소해주면 해당 커밋의 변경파일은 다시 untrackted
상태로 돌아간다.
그 다음 새롭게 git add
를 해주어 새로운 commit
을 만들고 강제로 push
해주는 것이다.
이때 한번에 여러 커밋을 취소하고 싶다면 ~
로 취소하고 싶은 개수를 적어주면 된다
$ git reset "HEAD^"
#가장 최신 커밋 취소
$ git reset "HEAD~3"
#최신 커밋 3개 취소
$ git push origin master -f
#master brench에 강제로 push
(이때 -f
대신 branch이름 앞에 +
기호를 붙여 다른 branch로 push할 수 있다)