merge
은 한 지점에서 다른 지점으로 변경하는 방법입니다. 나는 당신이 default
을 기능으로 합쳤다는 것을 알고 있지만, 이제는 다른 방향으로 간다. 번호 변경 집합이 다른 사람들로부터 와서 변경 집합을 글자 곳 여기에서 예를 들어 온다이다 :
당신은 아무것도하기 전에 당신이 복제이 있습니다
[1]---[2]---[3]---[4] (default branch)
다음 지사라는 이름 만들기 '기능을'두 개의 작업을 수행
[1]---[2]---[3]---[4] (default branch)
\
[A]---[B] ('feature' branch)
을 다음 hg pull
이 로컬 저장소에 아래로 분기 이후 변화가 기본값으로 얻을 :
0,123,643 산출, 그것을 커밋
hg checkout feature # make sure you're looking at the he head of your branch
hg merge default # merge default into your branch
산출되는 : 내가 제대로 이해 해요 경우
[1]---[2]---[3]---[4]---[5]---[6] (default branch)
\ \
[A]---[B]---[C] ('feature' branch)
, 당신은 이미했습니다
지금 당신은 당신이 귀하의 지점에 통합 된 변경 사항 (5와 6) 원하는 이제는 병합을 통해 수행되는 새로운 병합 커밋 인 C를 포함하여 분기를 가져와야합니다.
hg checkout default # hop back to default, files look like [6] and [A] and [B] are missing
hg merge feature # merge feature into default brining [A] and [B] in
개
그 수율 :
그런 식으로 그려 많은 작업처럼 보이지만 실제로는 그냥 보통의
[1]---[2]---[3]---[4]---[5]---[6]---[7] (default branch)
\ \ /
[A]---[B]---[C] ('feature' branch)
:
hg branch feature
....work....
hg commit
hg pull
hg merge default
hg checkout default
hg merge feature
과 pull
경우 새로운 일을 안 가져 왔어요 다른 쪽에서는 기본값으로 병합을 건너 뛸 수 있습니다.
두 개의 새로운 병합 변경 집합을 만듭니다. 그것들은 도움이 안되면 hg log
에 쉽게 숨겨집니다. (어떤 사람들은 각 병합 방향에 대한 기록을 갖고 싶어합니다.) 그러나 완전히 피하기를 원하면 bookmarks
(git 가지와 매우 유사합니다) 대신 "named 브랜치 (branch) "기능을 제공합니다. 그러면 git이"빨리 감기 (fast forward) "병합 (merge)을 부르는 것과 영적으로 동일 할 것이므로 되돌아 올 때 머지 변경 집합을 피할 수 있습니다.
아 물론! 이제 다른 방향으로 합쳐서 밀어 넣으면됩니다. 바하마! :) –