Git 병합 중단
Ashok Chapagai
2022년12월19일
예를 들어 Mario는 원격 저장소에서 save-princess
라는 저장소에 대한 최신 변경 사항을 가져오려고 합니다. Mario는 git pull origin branch1
을 사용하지만 로컬로 변경된 파일이 Luigi
에 의해 원격 저장소 save-princess
에서 수정되었기 때문에 병합 충돌 오류가 발생합니다.
예를 들어 Luigi
가 Mario
와 같은 줄에서 동일한 파일을 편집했거나 Luigi
가 Mario
가 편집하고 있던 파일을 삭제한 경우 또는 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