Mercurial:병합하는 방법과 수동 제어 변경 및 파?
문제
참고:시나리오를 여기서 설명하지 않은 대답에 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 시 기본?
주의에서 다음과 같은 합병증을 병합하고 싶:
- 나는 할 수 있어야 모두에서 작업을 계속 기본 고 SolarCarBranch 후에 병합합니다.
- 이 있 연료 효율성 수정
Car.cpp
고Car.h
에 SolarCarBranch 내가 원하는 뽑아 기본, 그러나 내가 원하지 않는 모든 변경 사항에 해당 파일을.그래서 내가 원하는 선택 변경하고 싶어에 포함될 기본 중 병합(aka 수동 병합). - 나 지 고 싶
Solar.cpp
고Solar.h
에서 나타나는 기본.세계지 않을 수도 있 아직 준비를 위한 태양 강화한 차량.;-)
는 것을 배울 수 있었:
- 이것이 가능해
hg merge SolarCarBranch
- 하여 이를 수행할 수 있습니다 설정
kdiff3.premerge=False
에Mercurial.ini
- 하지 않는 방법을 알고 이를 달성하기 위해 이후
premerge=False
여전히 병합/복사Solar.cpp
고Solar.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
옵션 플래그에 병합 구성 문서 너무입니다.