2010-09-25 87 views
1

說一個克隆存儲庫,他的主要工作是在本地編輯它。遵循適當的操作是什麼,以便他可以在保持其變化的同時與最初的上游進行合併?即像TortoiseSVN中的「更新」一樣。簡單的問題在TortoiseHg

回答

2

簡短的答案是「拉」。從那裏,你有兩個選項

你可以簡單地更新,就像你使用svn一樣,你的改變將保持本地和非版本化,或者你可以提交和合並你的更改與你拉的頭。如果你不回推,這些合併將永遠不會出現在中央回購站上,並且你將擁有更新版本和易於追蹤的額外好處。第二種方法更符合DVCS的精神。

1

@Axelle Ziegler's answer這兩種方法是古老的「變基與合併」的對決。

第一種方法需要更多解釋。

要開始了,所有DVCSs鼓勵經常犯,這是對像SVN CVCS一個主要的優點,讓當地的變化是(應該)當您希望與上游同步可能已經提交。如果您沒有提交,默認情況下hg update會嘗試將更改合併到要更新的修訂中。有關詳細信息,請參見hg help update(注意:請使用-C非常小心)。

現在,如果你確實有上游的本地變更,你會得到兩個負責人(不是不是,但你的存儲庫)。然後你必須決定是合併還是重新分配。

汞喜歡和鼓勵合併,重訂,因此在覈心未提供,但你必須使得到命令捆綁擴展。

目前已經在這裏很多很好的questions and answers的話題。如果你想切入追逐,請閱讀this blog中的鏈接,以瞭解創作者所說的話。

幾乎沒有存在的「簡單」的問題,當涉及到DVCS :)

0

我看到的「MQ」擴展​​名(「水銀補丁隊列」)第三解決方案。

使用它你不會犯,但只是從你的本地修改創建並刷新你的補丁。定期拉動並在更新工作副本之前,您將分離您的修補程序,更新並重新附加修補程序。

這樣你會管理自己的更改在Patch隊列完全隔離,同時保持聯繫與世界的變化。