Git Merge와 함께 theirs 사용
Git 도구를 사용하여 소프트웨어를 개발하는 동안 다양한 기능에 대해 다른 분기를 만들 수 있습니다. 그러나 다른 지점 간에 충돌이 있을 수 있습니다.
이 기사에서는 git merge
명령을 irs
옵션과 함께 사용하여 충돌을 해결하는 방법에 대해 설명합니다.
Git에서 theirs
와 함께 git merge
명령 사용
git merge
명령은 둘 이상의 개발 기록을 결합할 수 있습니다. 그러나 이 병합은 분기 간의 충돌로 인해 수행되지 않는 경우가 있습니다.
이 충돌을 해결하려면 ours
또는 irs
에 있는 파일을 삭제해야 합니다.
ours
는 Git 히스토리의 권한을 가진 원래 작업 분기를 나타내고 irs
는 새로 적용된 커밋이 포함된 분기를 나타냅니다.
git merge -s ours
를 사용하여 ours
의 변경 사항을 취소할 수 있습니다. 이 명령은 다른 분기의 모든 변경 사항을 무시하고 분기의 파일을 변경하지 않은 상태로 둡니다.
다음에 다른 브랜치에서 병합할 때 Git은 이 시점부터 변경된 사항만 고려합니다. 그러나 -s
옵션은 그들
과 함께 사용할 수 없습니다.
--strategy-option
을 사용하여 Git의 충돌 해결
또는 -X
또는 --strategy-option
옵션과 함께 theirs
를 사용할 수 있습니다.
-X
옵션과 -s
옵션의 주요 차이점은 -X
는 일반 재귀 병합을 수행하여 선택한 면을 사용하여 충돌을 해결하는 반면 -s
는 다른 면을 완전히 무시하도록 병합을 변경한다는 것입니다.
다음 명령은 theirs
를 사용하여 충돌을 해결합니다.
git merge -X theirs branchname
임시 분기를 사용하여 Git에서 병합
아래 명령을 사용하여 test2
를 체크아웃된 test1
에 병합합니다.
test1
분기로 전환합니다.
git checkout test1
충돌 없이 커밋을 병합합니다. ours
의 내용은 나중에 폐기됩니다.
git merge -s ours test2
임시 분기를 만듭니다.
git branch temp
git reset
명령으로 HEAD
를 설정합니다. test2
분기에서 내용을 가져옵니다.
git reset --hard test2
병합된 커밋으로 재설정하되 git reset --soft
명령으로 내용을 유지합니다.
git reset --soft temp
병합된 커밋의 내용을 test2
의 내용으로 변경합니다.
git commit --amend
이전에 만든 임시 분기를 삭제합니다.
git branch -D temp
병합된 커밋에는 test2
의 내용만 포함되어 있음을 알 수 있습니다.
git diff HEAD test2
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn