문제

참고:시나리오를 여기서 설명하지 않은 대답에 Stack Overflow:완전 매뉴얼은 병합.

설명할 것입니다 내가 쿼리로 예입니다.가정작 의욕 저장소를 디자인 자동차:

C:\Car$ dir
Car.cpp
Car.h

나의 디자인 작업을 자동차를 위한 확실히 동안 그리고 저장소 내용:

r0-r1-...-r100-(default)

에서 어떤 시점에서 시간을 내가점 기본 하기 SolarCarBranch 일에 태양 강화된 자동차에서 병렬:

C:\SolarCar$ dir
Car.cpp
Car.h
Solar.cpp
Solar.h

후에 더 많은 시간을 저장소 내용:

r0-r1-...-r100-...-r200-(default)
            \--r101-...-r201-(SolarCarBranch)

어떻게 병합 SolarCarBranch기본?

주의에서 다음과 같은 합병증을 병합하고 싶:

  1. 나는 할 수 있어야 모두에서 작업을 계속 기본SolarCarBranch 후에 병합합니다.
  2. 이 있 연료 효율성 수정 Car.cppCar.hSolarCarBranch 내가 원하는 뽑아 기본, 그러나 내가 원하지 않는 모든 변경 사항에 해당 파일을.그래서 내가 원하는 선택 변경하고 싶어에 포함될 기본 중 병합(aka 수동 병합).
  3. 고 싶 Solar.cppSolar.h 에서 나타나는 기본.세계지 않을 수도 있 아직 준비를 위한 태양 강화한 차량.;-)

는 것을 배울 수 있었:

  1. 이것이 가능해 hg merge SolarCarBranch
  2. 하여 이를 수행할 수 있습니다 설정 kdiff3.premerge=FalseMercurial.ini
  3. 하지 않는 방법을 알고 이를 달성하기 위해 이후 premerge=False 여전히 병합/복사 Solar.cppSolar.h기본 묻지 않고 저를 위해 권한이 있습니다.
도움이 되었습니까?

해결책

당신이 정말로 닫히고 필요하지 않습 리조트 이식(새로운)또는 체을 따기에 일반적입니다.을 끄는 사전 병합은 첫 번째 단계는 다음만을 제거하지 않는 파일에서 원하는 주요지점 통합한 후에만을 투입하기 전에.당신은 단지 그것을 해야 한다.

여기에 설정:

o  changeset:   3:343d531512a3
|  branch:      solar
|  tag:         tip
|  parent:      1:cb26642f8db5
|  user:        Ry4an Brase <ry4an@msi.umn.edu>
|  date:        Wed Mar 10 11:16:48 2010 -0600
|  files:       afile
|  description:
|  solar-change
|
|
| @  changeset:   2:c5d14e34db07
| |  parent:      0:56465175b2fc
| |  user:        Ry4an Brase <ry4an@msi.umn.edu>
| |  date:        Wed Mar 10 11:05:44 2010 -0600
| |  files:       other-main-file
| |  description:
| |  moremain
| |
| |
o |  changeset:   1:cb26642f8db5
|/   branch:      solar
|    user:        Ry4an Brase <ry4an@msi.umn.edu>
|    date:        Wed Mar 10 11:04:32 2010 -0600
|    files:       solar-only
|    description:
|    solar-initial
|
|
o  changeset:   0:56465175b2fc
   user:        Ry4an Brase <ry4an@msi.umn.edu>
   date:        Wed Mar 10 11:04:14 2010 -0600
   files:       afile
   description:
   initial

당신이 볼 수있는 집합 1 파일을 추가하 태양 지점--파리에서 원하지 않는 기본입니다.는 동안 변경 집합을 3 바뀌는 파일에도 있는 주요한,파일,그리고 우리가 원하는 수동으로 제어할지 여부를 변경이 발생합니다.

그렇 hg update default ; hg merge -r solar.병합구 도구는 팝업에 대한 afile 리고 우리가 결정하여 줄 또는 덩어리로 덩어리가 우리가 원하는 경우 그 변경합니다.후에 절약 할 hg stat:

% hg stat
M afile
M solar-only

그리고 우리는 태양광만이 대기업을 위한 커밋에서의 기본입니다. (과 if).

% hg rm -f solar-only

지금 hg stat 으로 보여줍니다 제거:

% hg stat
M afile
R solar-only

그 때 우리는 우리가 우리가 무엇을 원하는 새로운 변경 집합입니다.

다른 팁

귀하의 첫 번째 상태,계속 할 수 있는 작업에 두 분기에 의해 만족 단순히 폐쇄되지 않는 분기는(당신은 당신 --close-branch 옵션 hg commit).

할 수 있 체리를 선택합 병합 사용 식 확장.이것은 당신이 선택한 특정합 병합으로 기본입니다.

세 번째 조건이 만족하는 아이디어 제공되지 않을 혼합 변경 사항을 모두 일반 자동차와 태양 전지 자동차에서 동일한 커밋을 변경 집에서 다시 태양 지점 면,걱정할 필요가 없 혼합에 대해 귀하의 차량 유형입니다.

수도 있습보고 싶 internal 옵션 플래그에 병합 구성 문서 너무입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top