2015-06-22 38 views
0

我假設這是一個奇怪的問題,但我不知道什麼時候到存儲庫創建了一個新的頭部,例如在這個問題中:什麼時候在倉庫中創建一個新的頭部?

解釋哪一行產生頭部數在任何所引用的存儲庫的改變

1:/家庭/用戶> hg的克隆http://remoteserver/mainrepository clone1

2:/家庭/用戶> hg的克隆http://remoteserver/mainrepository clone2

3:/家庭/用戶> CD克隆1

4:/ home/user/clone1> echo one> a.txt#創建一個包含「one」的新文件「a.txt」

5:/ home/user/clone1> echo two> b.txt #創建一個新的文件「b.txt」含「二」

6:/ home/user中/ clone1>回聲3> c.txt#創建一個新的文件「c.txt」含「三化」

7:/ home/user中/ clone1>添加汞A.TXT b.txt c.txt

8:/ home/user中/ clone1>汞柱提交-m 「添加文件」

9:/ home/user/clone1> cd ../clone2

10:/ home/user/clone2> echo none> a.txt#創建一個包含「none」的新文件「a.txt」

11:/家庭/用戶/ clone2>回聲無> b.txt#創建的新文件「b.txt」含有「無」

12:/家庭/用戶/ clone2>回聲無>℃。 TXT#創建一個新的文件「b.txt」含有「無」

13:/ home/user中/ clone2>添加汞A.TXT

14:/小時青梅/用戶/ clone2>汞柱提交-m 「一個文件」

15:/ home/user中/ clone2>汞添加b.txt

16:/ home/user中/ clone2>汞柱提交-m「另一個文件」

17:/ home/user中/ clone2>汞柱拉../clone1

18:/ home/user中/ clone2>汞添加c.txt

19:/ home/user的/ clone2> hg commit -m「第三個文件」

20:/ home/us ER/clone2>汞柱推-f

21:/ home/user中/ clone2> CD ../clone1

22:/ home/user中/ clone1>汞柱推-f

23:/首頁/用戶/克隆1> hg pull

我不是在尋找這個問題的具體答案,只是一些鑰匙,這將幫助我瞭解什麼時候發生,爲什麼。

在此先感謝!

回答

3

一個新的頭可以用三種方式創建:

  • 當你需要對推命令使用--force,一個新的頭在你推到存儲庫中創建。提示:不要使用--force(或其等價物-f),而當您不需要
  • 時,當您提交到不是分支頭的變更集時;因此如果你承諾有一個有孩子的變更集。
  • 當您從一個存儲庫中提取新增的變更集時,您可以在當地已有子項的變更集之上添加新的變更集。

在你的情況下,步驟#22將引入一個新的頭到遠程倉庫。步驟#20中的push --force並不能幫助您發現它僅在#22中發生,因爲您因此係統性地關閉了水銀提示正在創建新頭部的提示。

當您合併不同頭部(或重新綁定 - 但除了在非發佈存儲庫和階段< public等特定條件下不會傳播),頭部數量會減少。

相關問題