본문 바로가기
은근필요한이것저것

[Git] Commit 취소/삭제

by 궝테스트 2020. 6. 28.

회사와 개인 깃헙 계정을 번갈아 사용하다보니 개인 깃헙에 회사 계정으로 자꾸 커밋하는 실수를 반복중
그래서 요즘 제일 자주쓰는 git command 로 등극,, (하지만 주의해서 써야한다.)

Commit 취소하기

우선 작업중이던 branch 에서 reset 한다.

git reset HEAD^
: 가장 최근 커밋 내역 1개 취소
: HEAD^ 대신 커밋 해시값을 넣어도 된다.
: HEAD^~2 라고 붙이면 최근 커밋 2개를 취소한다.

git reset {--soft|--mixed|--hard} HEAD^
: 중간에 --soft, --mixed, --hard 옵션에 따라 리셋 방법이 조금씩 달라진다.

  • --soft :  commit 을 취소하고 해당 파일들을 staged 상태로 워킹 디렉터리에 보존
  • --mixed : commit 을 취소하고 해당 파일들을 unstaged 상태로 워킹 디렉터리에 보존. 기본값
  • --hard : commit 을 취소하고 해당 파일들을 unstaged 상태로 워킹 디렉터리에서 삭제

Commit 취소 Push 하기

이제 remote 에도 해당 commit 을 취소해보자.

위에서 reset 을 이용해 취소한 후 commit 할 내용이 있다면,
git add 또는 git commit -m "commit message"

이제 remote 에도 흔적을 지워버리자.
git push origin {branch명}
: 마지막에 '-f' 옵션 또는 branch명 앞에 '+' 를 붙이면 해당 branch 에 강제로 push 한다.

여기까지하면 remote repository 에서도 해당 commit 이 삭제된걸 확인할 수 있다.

'은근필요한이것저것' 카테고리의 다른 글

Firebase Analytics  (0) 2020.09.10
[Git] Submodule  (0) 2020.06.28
[Git] 처음 배울 때!  (0) 2020.03.24
Opacity 수치  (0) 2020.03.13
Material Design  (0) 2020.03.12

댓글