개발관련/Git

“git merge -s ours” 의 “theirs” 버전

Rateye 2021. 6. 25. 10:46
728x90
반응형
질문 : “git merge -s ours”의“그들의”버전이 있습니까?

git merge 사용하여 주제 브랜치 "B"를 "A"로 병합 할 때 충돌이 발생합니다. 모든 충돌은 "B"버전을 사용하여 해결할 수 있다는 것을 알고 있습니다.

나는 git merge -s ours 알고 있습니다. 그러나 내가 원하는 것은 git merge -s theirs 와 같은 것입니다.

왜 존재하지 않습니까? git 명령과 충돌하는 병합 후에 어떻게 동일한 결과를 얻을 수 있습니까? (B에서 병합되지 않은 모든 파일을 git checkout

업데이트 : 분기 A (트리의 B 버전에 대한 병합 커밋 지점)에서 아무것도 버리는 "솔루션"은 내가 찾고있는 것이 아닙니다.

답변

추가 -X 에 옵션을 theirs . 예를 들면 :

git checkout branchA
git merge -X theirs branchB

모든 것이 원하는 방식으로 병합됩니다.

내가 본 유일한 문제는 branchB에서 파일이 삭제 된 경우입니다. git 이외의 항목이 제거되면 충돌로 표시됩니다.

수정은 쉽습니다. 삭제 된 파일의 이름으로 git rm 을 실행하면됩니다.

git rm {DELETED-FILE-NAME}

그 후 -X theirs 는 예상대로 작동합니다.

git rm 명령으로 실제 제거를 수행하면 처음에 충돌이 발생하는 것을 방지 할 수 있습니다.

참고 : 더 긴 양식 옵션도 있습니다.

그것을 사용하려면 다음을 교체하십시오.

-X theirs

와:

--strategy-option=theirs
출처 : https://stackoverflow.com/questions/173919/is-there-a-theirs-version-of-git-merge-s-ours
728x90
반응형