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

Som*_*DOS 2 merge mercurial

当我必须进行合并时,我已经完成了mercurial,我就是这么做的 hg commit -m "Merge."

合并时你通常做什么?你是否在评论中写了变更集,或者尝试写出"有意义的"评论(因为我认为它们没用,除非你从不同位置的两个真正不同的回购合并).

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

Ry4*_*ase 5

创建别名很容易(我将在下面做),但它几乎没有任何价值.将parent1和parent2值从合并变更集中拉出来非常容易,因此除了"合并"之外,它并没有真正告诉你任何东西.

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

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

历史总是存在一些分歧的原因,即使这是一个完全平凡的理由,比如忘记更新或在咖啡店断线,这就是我所说的.

那说你可以这样做:

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

您可以使用以下命令创建shell别名:

[aliases]
mycommit = !$HG hg commit -m "merging: $(hg parents --template '{node|short}\n') | xargs"
Run Code Online (Sandbox Code Playgroud)

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

PS有人会建议fetch扩展.别理他们.