2016-11-02 2 views
1

분기 병합 절차를 더 잘 이해할 필요가 있습니다.자식 간 병합

enter image description here

그것은 어떤 코드의 손실 또는 끝에 분기 모든 커밋을해야합니다 수 : 다음 디자인에 따라

?

필자의 관점에서 커밋에는 식별 할 수있는 고유 한 해시가 있지만 각각의 코드를 잃어 버렸고 해결하기 위해 충돌이 발생했기 때문에 과거에 잘못한 것을 확신 할 수 없었습니다. 우리는 그 일이 다시 일어나기를 원하지 않습니다.

설명을 이해할 수 있습니다.

답변

1

우리는 대신에 충돌이

충돌은 지난 병합 기반 이후 동시 변경이있는 경우에만 발생 해결하기 위해 일부 코드의 손실 어떤 순간에 경험이 있었다.
한 분기에서만 변경 사항이 발생하면 (마지막 병합 이후) 해당 분기를 대상 분기에 병합하면 대상 분기 내용이 원본 분기 내용으로 대체됩니다.

시도와 함께 그 문제 병합을 리메이크 :

git config merge.conflictStyle diff3 

그런 식으로, 당신은 공통 조상뿐만 아니라 소스 및 대상 코드의 충돌을 볼 수 있습니다.
this merge conflict example을 참조하십시오.

참고도 B-C를 병합하는 지점 A, B의 머리를 의미하고 C이 (branch C(=A=B)는 의미 수)처럼 동일하다하지 않습니다 : Bc8 유지, C 하나의 병합 (병합의 결과를) 투입했다, A은 이동하지 않았습니다.