你如何评价mercurial中的合并(独奏开发者,bitbucket中只有一个外部回购)?

时间:2011-03-14 20:04:57

标签: mercurial merge

当我必须提交合并时,我已经做了很多善事,我只是hg commit -m "Merge."

合并时你通常做什么?你是在评论中写下变更集,还是试着写出有意义的"评论(因为我认为它们没用,除非你在不同地点从两个真正不同的回购合并)。

是否可以在hgrc的[alias]中的mercurial(如hgmerge)中创建别名,自动执行hg commit -m "Merge: heads ${head}, ${head} ..."

2 个答案:

答案 0 :(得分:5)

创建别名很容易(我会在下面做),但它几乎没有任何价值。将parent1和parent2值从合并变更集中拉出来是非常容易的,所以除了“合并”之外,它并没有真正告诉你什么。

就个人而言,即使是单人回购,我也试着将至少有用的东西放在一半,即使它只是这样:

  • 将配置工作合并到代码中
  • 将工作从桌面合并到笔记本电脑的工作
  • 合并了一个我不喜欢的匿名分支
  • 在编辑前忘记拉/更新

总有一些原因导致历史不同,即使这是一个完全平凡的理由,比如忘记更新或在咖啡店断线,这就是我注意到的。

那说你可以这样做:

hg commit -m "merging: $(hg parents --template '{node|short}\n') | xargs"

你可以使用:

创建一个shell别名
[aliases]
mycommit = !$HG hg commit -m "merging: $(hg parents --template '{node|short}\n') | xargs"

允许您运行hg mycommit,但只是挖掘更好的描述。

P.S。有人会建议fetch扩展名。忽略它们。

答案 1 :(得分:1)

当我在拉动后合并时,我通常只会写“拉后合并”。当合并后我必须纠正一些事情时,我会准确地描述我的所作所为,以便我的同事能够理解这些变化。

当我在另一个分支中合并分支时,我在提交消息“在branch2中合并branch1”中确定了两个分支。

至于别名,抱歉,我不知道。