2013-11-25 78 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

相关问题