是的,還有另外一種方法。從上面的例子中,hg glog
輸出看起來有點像這樣:
@ changeset: 2:925573c7103c
| tag: tip
| parent: 0:4fe26dfe856d
| user: Joel B Fant
| date: Thu Jul 28 23:20:45 2011 -0400
| summary: c
|
| o changeset: 1:9dc928176506
|/ user: Joel B Fant
| date: Thu Jul 28 23:20:24 2011 -0400
| summary: b
|
o changeset: 0:4fe26dfe856d
user: Joel B Fant
date: Thu Jul 28 23:20:12 2011 -0400
summary: a
如果克隆test
但指定某個版本,只會克隆該修訂及其祖先。所以,如果你的回購的目錄爲TwoHeadsMightNotBeBetter
,你可以去它的父目錄,併發出:
hg clone TwoHeadsMightNotBeBetter OneHeadIsFine -r 925573c7103c
我指定的變更ID在這一點,但你也可以使用-r 2
代替,甚至-r tip
因爲它是目前尖端回購。現在,當你進入新克隆和幹hg glog
,你只有一個頭:
@ changeset: 1:925573c7103c
| tag: tip
| user: Joel B Fant
| date: Thu Jul 28 23:20:45 2011 -0400
| summary: c
|
o changeset: 0:4fe26dfe856d
user: Joel B Fant
date: Thu Jul 28 23:20:12 2011 -0400
summary: a
如果你有3頭,想繼續保持2,這將是一個有點不同。你必須用-r
克隆其中的一個,並在hg pull
上指定-r
來提取特定的分支。
我不認爲有'guillotine'命令? – aroth
我認爲它已被棄用:) – Senthess
'hg strip'只是完美的任務。雖然,Joel建議的'hg clone -r ...'也是完美的。您必須決定是否要清理**現有的**克隆,或者是否需要乾淨的**新**。 –