我在我的分支,我這樣做:從父分支進行合併,hg傳入路徑/到/ baseline,我該如何合併?
hg incoming /path/to/baseline
而且我得到的輸出數的變更。
現在,我只是合併拉入我的分支changsets?
hg merge /path/to/baseline
我的歷史會顯示什麼被合併? 只要我沒有觸及這些文件,它會自動對吧?
我在我的分支,我這樣做:從父分支進行合併,hg傳入路徑/到/ baseline,我該如何合併?
hg incoming /path/to/baseline
而且我得到的輸出數的變更。
現在,我只是合併拉入我的分支changsets?
hg merge /path/to/baseline
我的歷史會顯示什麼被合併? 只要我沒有觸及這些文件,它會自動對吧?
你應該真的嘗試所有這一切!製作幾個測試軟件庫:
hg init main
hg clone main clone
然後試驗了。這很簡單,安全,因爲你只能在自己的機器上玩耍。 (當你在這裏問一個問題時,這實際上是「幕後」發生的事情:我試圖確保我給出的建議確實有效,所以我通常必須在新存儲庫上運行一些測試以進行仔細檢查。)
如果你運行測試,你會看到
你不能給hg merge
的路徑名(或URL)作爲參數。作爲唯一的參數,需要修訂版。您需要hg pull /path/to/baseline
將更改集複製到您的本地存儲庫,然後hg merge
。
歷史將確實顯示合併的內容。合併變成Mercurial中的合併提交。這是一個帶有兩個祖先變更集的變更集合 - 導致合併的兩個開發線仍在庫中。
如果兩個分支中所做的更改不重疊,則合併沒有衝突(「自動」)。如果你在兩個分支中編輯不同的文件,那麼肯定沒有重疊。但是你也可以在同一個文件中編輯不同的區域,並且仍然沒有衝突的合併。
在the wiki上有一個很好的教程,我也寫了一個beginners guide。我希望有所幫助。