2015-05-11 34 views
0

我是新來的Mercurial。我試圖從Web界面克隆第二個最新的提交,並且我所有的紅色都表示我需要輸入修訂號。然而,網絡界面只顯示「年齡」,「作者」,「描述」,底部有「rev 27:(0)tips」 我知道我想要哪一個基於描述,而且是第二個最佳。我如何得到它?我假設當我做了hg clone https://...它得到了最新版本獲得第二個最新版本的源代碼

+0

就我個人而言,我只是'克隆'整個回購(或至少該分支),然後'hg更新-r​​',也許基於'hg log'輸出。 (或者'hg update -r -1'或'hg update -r -2')。 –

+0

@DaveC這就是我不知道的,它會是'hg update -r -1'或'hg update -r -2'(或'-r -0' ...) – Celeritas

回答

2

只需克隆整個存儲庫,然後更新到第二個最新的提交hg update -r -2

請注意,如果您有分支,「第二個最新的提交」可能在不同的分支上。在這種情況下,您可以在hg log -b <branch> -l 2,然後hg update -r <rev>列出特定分支上的最新兩個更改,以列出該分支中列出的兩個更改中較早的一個。

另一種方式來獲得的第2個最新提交的一個分支的語法如下:

hg update <branch>^ 

例如:

hg update my_branch^ 

注意在Windows ^爲控制檯轉義字符,所以它必須加倍爲一個文字^

hg update my_branch^^ 

另一個得到一個分支尖端的始祖方法是:

hg update my_branch~1 

又見hg help revsetshg help revisions

+1

好的,我是新的到版本控制,並不明白當我克隆存儲庫時,它獲得了整個歷史,而不僅僅是「第n」提交。 – Celeritas