Да, есть другой способ.Из приведенного выше примера вывод 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
В этом я указал идентификатор набора изменений, но вы также можете использовать вместо него -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
, а также указать -r
на hg pull
, чтобы получить определенные ветви.