Git
[Git] git revert - push한 commit 취소하기
Rayi
2024. 12. 27. 11:01
만약 로컬저장소에서 작업한 commit을 원격 저장소에 push 해 놓았는데, 이를 다시 되돌리려고 한다면 git revert를 사용하면 됩니다.
git revert [commit id]
단, 이를 사용하면 commit된 사항이 취소되는 것이 아니라,
commit한 사항을 다시 되돌렸다는 commit이 추가되는 방식입니다.
// 두 번째 줄의 commit을 다시되돌렸다는 commit이 추가됩니다.
(HEAD -> master) Revert "wrong commit"
(origin/master) wrong commit
만약 연속된 여러 개의 commit을 취소하려고 한다면, 다음과 같이 사용하면 됩니다.
git revert [첫 commit 바로 이전의 commit id]..[끝 commit id]
이후에는 원격 저장소에도 push를 해주어야 합니다.
git push
git reset을 사용하지 않는 이유
git reset은 브랜치가 가리키는 commit을 이동할 수 있는 명령어 입니다.
만약 로컬 저장소에서만 작업한다면, git reset을 사용하여 잘못된 commit 이전의 commit으로 이동하면 됩니다.
하지만 이를 원격 저장소에서도 추적하고 있다면, git reset을 통해 되돌린 상태의 브랜치를 원격 브랜치에 merge(push) 할 수 없습니다.
때문에, git revert로 새로운 commit을 추가한 뒤 이를 원격 브랜치와 merge해야 합니다.
728x90