2011-10-05 2 views
4

나는 들어오는 변화뿐만 아니라 나의 분지에서 둘 다 변화를 선택할 수있는 합병 전략을 찾고있다.git merge 우리와 그 (것)들을 선정하십시오

다른 스레드를 통해 검색을 시도했지만이를 수행하는 방법을 찾을 수 없습니다.

그래서 내 저장소에는 여러 개의 브랜치가 있습니다. 모든 브랜치를 로컬 마스터에 병합 한 다음 코드 검토 자의 원격 보류 승인을 받아야합니다. 이것을 달성하기 위해 마스터에서 먼저 rebase를 수행 한 다음 master 로의 빠른 포워드 병합, 표준 워크 플로우를 수행합니다. 코드는 주로 설정 파일로 구성되며 이러한 여러 가지 분기는 동일한 위치 (예 : 새 매개 변수 추가)에서 코드 변경 사항을 갖습니다. 이러한 매개 변수는 결코 같지 않지만 동일한 위치에 있습니다. git은 그것들을 충돌로 만든다.하지만 내가 원하는 것은 브랜치에서의 나의 변경 사항과 rebase 중에 master로부터의 변경 사항 모두를 선택하는 것이다. 나는 관련된 위험을 안다. 그러나 나는 복제본을 탐지하고 변칙에 대해 경고 할 수있는 검증 스크립트를 가지고있다.

따라서 궁극적 인 목표는 이러한 병합을 스크립팅하고 유효성 검사 스크립트가 실패 할 때만 개입하는 것입니다. 답장

+0

변경 사항은 어디에서 왔습니까? 로컬로 가져 왔습니까? 들어오는 지사에서 귀하의 지사로 병합 할 수 있습니까? – grw

+0

달성하고자하는 것을 보여주는 예를 보여줄 수 있습니까? 왜 그렇게하고 싶은지 설명하십시오. – svick

+1

한 버전이나 다른 버전을 사용하여 해결할 수있는 충돌을 실제로 발견 한 경우'git checkout --ours '을 사용할 수는 있지만 실제로 그 상황에 처한 것은 분명하지 않습니다. – Cascabel

답변

1

(그 various strategies 포함) 기본 병합 알고리즘

감사는 기본적으로 변경하고 들어오는 변경 내용을 모두 유지해야합니다. 이 (그들은 전혀 흥미있는 경우 어쨌든 인간에 의해 검증 될 필요가) 충돌을 처리하는 방법 "How does Git solve the merging problem?"에 설명 된대로
, 병합의

중요한 부분은 아니지만, 융합해야 역사를 함께 합쳐 미래 합병을위한 새로운 탄탄한 기반을 마련하십시오.

즉, 중요한 부분은 사소한 부분입니다. 부모의 이름 지정과 관계를 추적하는 것입니다. 충돌이 아닙니다.

관련 문제