[version-control] KDIFF 병합에서 A, B 및 C는 무엇입니까?

내 코드와 다른 사람의 코드를 병합 할 때 왜 세 가지 선택이 주어 집니까? 내 코드, 다른 사람의 코드 및 아래 출력이 있어야하지 않습니까? 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’를 선택할 수있는 옵션을 제공합니다.


답변

(BASE) ‐‐> 현재 원격 저장소에있는 원본 파일.
B (로컬) ‐‐> 파일. A.
C (REMOTE) ‐‐> 해당 파일 과 비교 한 변경 사항 만 표시됩니다 . 이것은 A에 비해 그들의 변화만을 보여줍니다.

변경 사항이 다른 코드 라인에있는 경우 B와 C 모두에서 가져옵니다. 변경 사항이 동일한 코드 라인에있는 경우 (충돌) B 또는 C에서 가져옵니다.


답변

내가했다면 git rebase내 관찰은 다음과 같습니다. C- 로컬 에서 my_branch에 있는 것입니다 (즉, 리베이스가 시작되고 충돌이 발생하기 전에 내 편집기에서 보였습니다). B는 – 지점 나는 리베이스했다 my_branch를 (예를 들어 마스터 예를 들어 지점) (A)의 상단에 – B & C의 기준 개정 (안했던 문제가 나에게 너무 많은이 경우)


답변