[git] push 한 commit 삭제하는 방법

code_j·2022년 9월 20일

Git

목록 보기
1/1
post-thumbnail

로컬에서 개발하면서 push한 commit을 지우고 싶은 경우가 있다.

git log 확인

> git log 

commit cfd7956eeaacbab8adc5e4085633a11705e557f1 (HEAD -> master, origin/master, origin/HEAD)
Author: author (author@mail)
Date:   Tue Sep 20 16:06:43 2022 +0900

    message...

> git log --oneline

cfd7956 message...
7ab76e0 message...

> git reflog   

cfd7956 (HEAD -> master, origin/master, origin/HEAD) HEAD@{0}: message...
7b640f1 HEAD@{1}: message...
bff0af3 HEAD@{2}: message...

마지막 commit을 삭제하고 싶은 경우

- 가장 마지막에 push한 commit을 지우기 위해 해당 명령어를 입력한다.
> git reset HEAD^

- 다시 push해서 commit 삭제 상태를 적용한다. (-f는 force로 강제를 의미한다.)
> git push -f origin master

특정 commit을 삭제하고 싶은 경우

위에서 git log 보는 법에서 나온 것 처럼 git commit에 해당한 ID와 HEAD를 지칭하는 값으로 돌릴 수 있다.

- 되돌리고 싶은 위치를 지정해준다.
> git reset --hard 7ab76e0 (또는 HEAD@{1})

- 반영해주면 끝난다.
> git push -f origin master

마무리

Git에 관해서는 공부가 많이 필요한 것 같다. reset 옵션에 대한 정리도 필요할 것 같다. 🙂

profile
어렵다고 피하지 말고 도전하자! 긍정!

0개의 댓글