Git

이미 푸시한 커밋 수정, 삭제하기

Git 사용법

Posted by jopemachine on March 31, 2020 Updated on September 25, 2022

이미 푸시한 커밋 수정, 삭제하기

아직 Push 하지 않은 커밋을 변경하고 싶다면, git commit --amend -m 등의 명령어로 변경하면 된다. 하지만 이미 Push한 커밋 내역을 변경하고 싶거나 제거하고 싶다면 어떻게 해야할까?

How to do - git reset, git push –force을 이용

1 - 수정 하려고 하는 커밋 이전의 내역으로 되돌아간다.

git reset 명령어로 head를 수정하려고 하는 (지우려고 하는) 커밋 이전으로 되돌아간다.

1
$ git reset --hard <commit ID>

2 - 내역을 수정한다.

git add, commit 등 다른 명령어를 사용해 변경하려고 하는 작업을 한다.

해당 커밋 내역을 제거하고 싶은 경우엔 스킵한다.

3 - push 명령어로 덮어 쓴다.

push 명령어에서 force 옵션을 사용해 이미 Push 되어 있는 커밋 내역을 덮어씌운다.

(기존의 커밋 내역은 사라지고 되돌릴 수 없다)

force 옵션 없이는 push 되지 않는다.

1
$ git push --force

git rebase를 활용하는 방법

더 구체적으로 커밋 히스토리를 변경하는 방법으로, rebase 명령어를 활용하는 방법이 있다