내 코드와 다른 사람의 코드를 병합 할 때 왜 세 가지 선택이 주어 집니까? 내 코드, 다른 사람의 코드 및 아래 출력이 있어야하지 않습니까? KDIFF 문서는 이해하는 데 도움이되지 않습니다.
답변:
3 방향 병합을 수행하는 것처럼 들리 므로 A는 B와 C가 기반으로하는 기본 개정이어야하며 B는 그들의 것이고 C는 당신의 것입니다 (나는 믿습니다; B와 C는 반대 일 수 있습니다).
A 는 병합 대상이 기반으로하는 버전을 나타냅니다. 지점에서 트렁크로 병합하면 'A'가 이전 트렁크 버전이됩니다.
B 는 로컬 변경 사항을 포함하여 현재 로컬 트렁크 폴더에있는 것입니다.
C 는 B 위에 병합하려는 버전입니다.
A는 B와 C를 자식으로하는 부모 개정판 입니다.
즉, B에는 user1 / repo1에 의해 A에서 수행 된 변경 사항이 포함 되고 C에도 A에 대한 변경 사항이 포함되지만 다른 사용자 ( user2 / repo2 )
kdiff는 b 또는 c (또는 둘 다 가져 오기)에서 수정을 선택하거나 부모에서 'A'를 선택할 수있는 옵션을 제공합니다.
내가했다면 git rebase
내 관찰은 다음과 같습니다. C- 로컬 에서 my_branch에 있는 것입니다 (즉, 리베이스가 시작되고 충돌이 발생하기 전에 내 편집기에서 보였습니다). B는 - 지점 나는 리베이스했다 my_branch를 (예를 들어 마스터 예를 들어 지점) (A)의 상단에 - B & C의 기준 개정 (안했던 문제가 나에게 너무 많은이 경우)