2010-10-25 74 views
27

如果我們多次提交,例如在我們的本地回購中,修訂版本爲3000,3001,3002,3003。如果我們推送到遠程回購,它將推送3000到3003.有沒有辦法只推送3000和3001?對於Mercurial,我們可以推一些變更集,不要推一些嗎?

+1

的可能重複的[在水銀,有任何方法(除了「櫻桃採摘」)推變更而不推也與不同的頭相關聯的變更?](http://stackoverflow.com/questions/3979122/在那裏 - 任何方式 - 從櫻桃 - 採摘到推 - 變換集) – 2010-10-25 16:36:39

回答

38

是的,您可以選擇要推送的修訂版。 hg push -r 3001(所選修訂的所有祖先將被推;你不需要指定3000)

+0

很好,謝謝,去了,看到了文檔。它說,如果使用'-r',那麼該變更集及其所有祖先將被推送。所以它可能不可能只推3002和3003沒有3000和3001? – 2010-10-25 15:33:26

+0

你是對的。不發送3002也不發送3001(當然,除非他們已經有3001)。您可以發送具有相同更改但不同散列和父項(因此是完全不同的更改集)的不同更改集,但這樣做通常意味着最終會在您的回購站中進行重複工作。 – 2010-10-25 15:53:25

+2

此外,如果使用tortoise hg:點擊'檢測外出變更集'後,右鍵點擊您想要推送的修訂版本,然後點擊推送 - >推送所選分支 – grinch 2013-05-30 13:39:31

9

如果您需要推動一些變更,而不所有祖先(溶液中@Woolble's answer描述),一個很好的選擇是使用水銀隊列擴展(MQ)。

https://www.mercurial-scm.org/wiki/MqExtension

這將讓你重新排列順序,甚至合併的變更,所以你可以在任何你喜歡的順序把他們。開始工作需要一些工作,但您會發現非常值得努力。

我TortoiseHg使得使用MQ非常簡單。

7

對於那些誰正在使用的用戶界面和類似圖片:

  1. In TortoiseHg點擊Detect outgoing changes to按鈕。 enter image description here

  2. 在想要推送的版本上單擊鼠標右鍵。

  3. 選擇Push -> Push to Hereenter image description here

結果:您將推動唯一入選的,而不是一切修訂。 enter image description here

希望這可以節省一些時間。

相關問題