Git 병합 중단

Ashok Chapagai 2022년12월19일
Git 병합 중단

예를 들어 Mario는 원격 저장소에서 save-princess라는 저장소에 대한 최신 변경 사항을 가져오려고 합니다. Mario는 git pull origin branch1을 사용하지만 로컬로 변경된 파일이 Luigi에 의해 원격 저장소 save-princess에서 수정되었기 때문에 병합 충돌 오류가 발생합니다.

예를 들어 LuigiMario와 같은 줄에서 동일한 파일을 편집했거나 LuigiMario가 편집하고 있던 파일을 삭제한 경우 또는 Mario가 동일한 파일을 추가하려고 하는 경우에도 병합 충돌이 발생합니다. Luigi가 이미 추가한 동일한 이름입니다. git pull 동안 병합 충돌이 발생하면 Git은 메시지를 표시합니다. 간단히 말해서, 두 변경 사항이 같은 줄의 같은 파일에 영향을 줄 때 병합 충돌이 발생합니다.

다음은 병합 충돌을 해결하는 몇 가지 방법입니다.

Git에서 변경 사항을 숨김으로써 병합 충돌 해결

충돌을 해결하는 한 가지 방법은 변경 사항을 로컬로 숨긴 다음 병합 충돌이 사라진 후 숨긴 변경 사항을 다시 복원하는 것입니다. 이는 다음을 통해 달성할 수 있습니다.

  • 변경 사항을 숨김
    git stash
    
  • 원격 저장소에서 변경 사항을 가져옵니다.
    git fetch
    
    git pull origin save-princess
    

    여기에서 save-princess는 로컬 및 원격 저장소에 있는 분기의 이름입니다.

  • 숨긴 변경 사항 팝
    git stash pop
    

병합 후 문제가 발생하면 병합하기 전에 항상 현재 변경 사항을 되돌릴 수 있습니다.

병합을 중단하려면 다음을 사용할 수 있습니다.

git merge --abort

위의 명령은 재설정과 유사하며 병합 전 현재 버전으로 커밋을 재설정합니다.

git reset --hard
Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub

관련 문장 - Git Merge