Git은 업계에서 가장 일반적으로 사용되는 버전 제어 도구 중 하나입니다. git merge는 두 개의 다른 분기를 함께 병합할 수 있는 git의 가장 일반적인 작업 중 하나입니다. 그러나 때로는 병합하면 안 되는 브랜치나 코드를 병합할 때도 있는데, 이 경우 병합을 취소해야 합니다. 그렇다면 git merge 작업을 취소하는 방법은 무엇입니까? 이 기사에서는 몇 가지 솔루션을 소개합니다.
병합 상태 확인 방법
먼저 병합 상태를 이해해야 합니다. git log 명령을 사용하여 관련 정보를 볼 수 있습니다. 다음 명령을 실행하세요.
git log --graph --oneline --decorate
이 명령은 모든 브랜치에 대한 병합 및 커밋 정보를 포함하여 커밋 기록의 아름다운 시각화를 표시합니다.
Git reflog 명령은 커밋, 병합, 리베이스 등을 포함한 Git 참조의 수정 기록을 나열할 수 있습니다. 다음 명령을 실행하세요.
git reflog
이 명령은 git 병합 작업을 포함한 모든 git 작업의 기록을 표시합니다. 출력은 다음과 같습니다:
cb61cbb HEAD@{0}: merge dev_branch: Fast-forward a44ab51 HEAD@{1}: checkout: moving from dev_branch to master cb61cbb HEAD@{2}: merge dev_branch: Merge made by the 'recursive' strategy. e6c8ed6 HEAD@{3}: checkout: moving from master to dev_branch
병합 취소
병합 작업을 완전히 취소하고 원래 커밋 기록에 영향을 주지 않으려면 다음을 사용할 수 있습니다. 이를 달성하려면 git 재설정 명령을 사용하세요. 다음 명령을 실행합니다.
git reset --hard HEAD^
위 명령은 HEAD 포인터를 한 커밋 뒤로 이동하고 병합 작업으로 인한 모든 코드 변경 사항을 삭제합니다. 이는 위험한 방법이므로 주의해서 사용해야 합니다.
원래 커밋 기록을 유지하고 병합 작업의 영향을 취소하려면 git revert 명령을 사용할 수 있습니다. 다음 명령을 실행하세요.
git revert -m 1 <merge commit sha>
여기서 -m 1 매개변수는 하나의 상위 커밋만 취소하는 것을 의미합니다. 병합 커밋이 여러 상위 커밋을 병합하는 경우 -m 2, -m 3 및 기타 매개변수를 사용해야 합니다. 구체적으로 어떤 매개변수가 필요한지는 상황에 따라 다릅니다.
병합 작업이 원격 웨어하우스로 푸시된 경우 git Reset 명령을 사용하여 로컬 웨어하우스를 병합 작업 전 상태로 복원해야 하며, 그런 다음 git push -f 명령을 사용하여 원격을 푸시하면 웨어하우스가 강제로 동일한 상태로 돌아갑니다. 이 접근 방식은 원격 저장소의 모든 수정 사항을 삭제하고 다른 사람의 코드에 문제를 일으킬 수 있으므로 주의해서 사용해야 합니다.
요약
이 문서에서는 git 재설정 명령, git revert 명령, git 재설정 명령 및 git push 명령을 포함하여 git 병합 작업을 취소하는 방법을 소개합니다. 코드에 불필요한 영향을 주지 않으려면 이러한 명령을 사용할 때 주의하세요. 동시에 git merge 작업에 대한 관련 정보를 보는 방법도 배웠는데, 이는 git merge 관련 문제를 해결하는 데 매우 유용합니다.
위 내용은 Git 병합 작업을 취소하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!