2009-09-21 3 views

답변

20

아무 것도 없음 "다음 커밋은 브랜치 X에 있어야합니다." 실제로 분기를 "생성"하지는 않습니다. 적어도 하나는 커밋이 될 때까지 분기가 존재하지 않습니다

sjl at ecgtheow in ~/Desktop/test on default at tip 
$ hg branch a 
marked working directory as branch a 

sjl at ecgtheow in ~/Desktop/test on a at tip 
$ hg branch b 
marked working directory as branch b 

sjl at ecgtheow in ~/Desktop/test on b at tip 
$ hg branches 
default      0:aae011bc1b00 

sjl at ecgtheow in ~/Desktop/test on b at tip 
$ echo foo >> x 

sjl at ecgtheow in ~/Desktop/test on b at tip! 
$ hg com -m1 

sjl at ecgtheow in ~/Desktop/test on b at tip 
$ hg branches 
b        1:b66106035d8d 
default      0:aae011bc1b00 (inactive) 

sjl at ecgtheow in ~/Desktop/test on b at tip 
$ 

그래서 귀하의 질문에 대한 답은 다음과 같습니다. "다음은 지점-A에있는 것으로 커밋 표시 hg branch branch-A를 사용"

+3

훌륭한 정보이지만, OP가 수행하려고하는 작업을 추가하는 가치가 있습니다. hg branch branchA; branchA에 커밋하라. hg update default; hg branch branchB, branchB에 커밋하십시오. 열쇠는 "hg update default"입니다. 따라서 branchB는 branchA와 동일한 커밋을 기반으로합니다. –

+0

좋은 정보, 나쁜 설명. ecgtheow에서 sjl .. 어 ..? 또한 hg co.kr, Google 직원에게 Hg 커밋하기. 사람들은 답을 해독 할 필요가 없습니다. 죄송하지만 -1. – Stolas

+0

안녕하세요, 스티브, 지금 이보다 더 명확한 방법으로 가이드에이 정보를 추가하지 않으시겠습니까? 가이드를 향상시킬 수 있습니다. ("hg branch X"는 Mercurial에게 "다음 브랜치는 브랜치 X에 있어야한다"라고 말하는 것 외에는 아무 것도하지 않습니다. 실제로 브랜치를 "생성"하지 않습니다. 브랜치는 적어도 하나의 커밋이있을 때까지 존재하지 않습니다 ") –

-5

'hg update -C branch-name'을 사용하십시오.

+0

아니요. 분기 명령이 차례로 발생하면 첫 번째 분기는 커밋이 없기 때문에 존재하지 않습니다. 또한 맹목적으로 -C를 사용하여 업데이트하는 것은 좋은 생각이 아닙니다. -c 정상적으로 사용하는 것이 훨씬 안전합니다. 정말로 필요할 때 -C 만 사용하십시오. –

0

칼 메이어 내가 가고 싶어 말하기를 : 나는 적어도 하나가 될 때까지 분기가 존재하지 않습니다 "하지만 (스티브 Losh는이 여기에 자신의 가이드에 더 나은 해답을 제공합니다 생각, 아이러니하게도

hg branch branch-A 
commit branch-A 
hg update default 
hg branch branch-B 
commit branch-B 

그것에 커밋 "은 내가 가이드에 추가 할 수있는 아주 좋은 팁이다).

section on named branches을 읽으면 그는 어떻게 작동하고 어떻게 전환하는지 간결한 설명을 제공합니다.

관련 문제