>  기사  >  개발 도구  >  Git 병합 작업을 취소하는 방법

Git 병합 작업을 취소하는 방법

PHPz
PHPz원래의
2023-04-03 09:17:1014966검색

Git은 업계에서 가장 일반적으로 사용되는 버전 제어 도구 중 하나입니다. git merge는 두 개의 다른 분기를 함께 병합할 수 있는 git의 가장 일반적인 작업 중 하나입니다. 그러나 때로는 병합하면 안 되는 브랜치나 코드를 병합할 때도 있는데, 이 경우 병합을 취소해야 합니다. 그렇다면 git merge 작업을 취소하는 방법은 무엇입니까? 이 기사에서는 몇 가지 솔루션을 소개합니다.

병합 상태 확인 방법

  1. git log 명령 사용

먼저 병합 상태를 이해해야 합니다. git log 명령을 사용하여 관련 정보를 볼 수 있습니다. 다음 명령을 실행하세요.

git log --graph --oneline --decorate

이 명령은 모든 브랜치에 대한 병합 및 커밋 정보를 포함하여 커밋 기록의 아름다운 시각화를 표시합니다.

  1. git reflog 명령 사용

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

병합 취소

  1. git 재설정 명령 사용

병합 작업을 완전히 취소하고 원래 커밋 기록에 영향을 주지 않으려면 다음을 사용할 수 있습니다. 이를 달성하려면 git 재설정 명령을 사용하세요. 다음 명령을 실행합니다.

git reset --hard HEAD^

위 명령은 HEAD 포인터를 한 커밋 뒤로 이동하고 병합 작업으로 인한 모든 코드 변경 사항을 삭제합니다. 이는 위험한 방법이므로 주의해서 사용해야 합니다.

  1. git revert 명령 사용

원래 커밋 기록을 유지하고 병합 작업의 영향을 취소하려면 git revert 명령을 사용할 수 있습니다. 다음 명령을 실행하세요.

git revert -m 1 <merge commit sha>

여기서 -m 1 매개변수는 하나의 상위 커밋만 취소하는 것을 의미합니다. 병합 커밋이 여러 상위 커밋을 병합하는 경우 -m 2, -m 3 및 기타 매개변수를 사용해야 합니다. 구체적으로 어떤 매개변수가 필요한지는 상황에 따라 다릅니다.

  1. git Reset 명령과 git push 명령을 사용하세요

병합 작업이 원격 웨어하우스로 푸시된 경우 git Reset 명령을 사용하여 로컬 웨어하우스를 병합 작업 전 상태로 복원해야 하며, 그런 다음 git push -f 명령을 사용하여 원격을 푸시하면 웨어하우스가 강제로 동일한 상태로 돌아갑니다. 이 접근 방식은 원격 저장소의 모든 수정 사항을 삭제하고 다른 사람의 코드에 문제를 일으킬 수 있으므로 주의해서 사용해야 합니다.

요약

이 문서에서는 git 재설정 명령, git revert 명령, git 재설정 명령 및 git push 명령을 포함하여 git 병합 작업을 취소하는 방법을 소개합니다. 코드에 불필요한 영향을 주지 않으려면 이러한 명령을 사용할 때 주의하세요. 동시에 git merge 작업에 대한 관련 정보를 보는 방법도 배웠는데, 이는 git merge 관련 문제를 해결하는 데 매우 유용합니다.

위 내용은 Git 병합 작업을 취소하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.