2013-11-25 92 views
1

如何告訴mercurial在我提交時自動合併,即使我提交了尚未推送的更改?Mercurial - 提交然後提交新的更改創建多個頭

當我承諾,然後拉動新的變化,我得到兩個頭。

Git似乎默認這樣做,所以我希望這是一個設置的地方。我將SourceTree用作我的mercurial GUI。

回答

1

合併編碼,你應該真的質疑你的決定自動做到這一點。使用Git的共同建議是使用git pull--ff-only選項告訴混帳只做合併,如果這是一個「快進」,這是說「不是一個真正的合併都沒有本地更改」

在任一git或Mercurial大多數人都喜歡--rebase而不是自動合併。它會修改您當地的工作,將其附加到剛剛下拉的工作的末尾,並保存創建新的合併變更集。

如果你絕對要在水銀的命令是hg fetch進行自動合併,但你必須啓用它在你的~/.hgrc[extensions]部分,因爲它只是一個糟糕的主意,它的默認情況下禁用(但確實船W /水銀所以沒有什麼可以安裝的)。

+0

如果有人推,爲什麼我不想自動合併他們的變化?如果我擔心我的代碼被污染,我會使用其他分支 – jjxtra

+0

即使您使用單獨的分支,您仍然在某個時間合併。這是一個代碼修改行爲,所以經常聽到的意見是它應該是一個明確的行爲。我並不是說你是個壞人,只是讓你知道爲什麼它不是'pull'的默認動作,爲什麼'--ff-only'在git界非常流行。 –

+0

夠公平的。後來我意識到我可以運行hg merge,它會合並多個頭,所以現在它不是什麼問題。感謝您的意見。 – jjxtra

相關問題