Git工作流程可避免日志中出现大量合并噪音

时间:2013-01-14 18:06:50

标签: git git-rerere

我们目前有一个工作流程,其中master是更长期的功能发布分支,编号分支如3.0适用于下周左右发布的版本。

通过上面的示例,我们将最后一分钟的更改推送到需要合并到master中的3.0。如果我们不经常合并,我们最终会在没有最近更改的情况下让master过时。如果我们合并,我们会记录从3.0master的所有合并。

看似神奇的命令git-rerere似乎解决了这个问题,但仅适用于您需要更新的本地主题分支。换句话说,如果3.0仅在一个人的机器上而不是公共机器上,它就会起作用。

有没有办法让主人保持最新而没有所有丑陋的合并噪音?我了解rerere的使用吗?

1 个答案:

答案 0 :(得分:1)

rerere代表“重复使用记录的决议”。它所做的只是通过记住您过去做出的决定来使您的合并/重组更容易。当它们真正发生时,它不会减少噪音;它允许的是在没有合并的情况下更长时间(因为你可以“预先飞行”合并而不是推动结果)。

为什么“将日志充满合并”成为问题?您可以使用git log --no-merges显示没有合并提交的日志。

您的选择基本上是这样的:

  • 合并较少,这将使合并,当你需要它时,更难“
  • 更频繁地合并,并在日志中进行合并提交
  • 使用变基,处理公共存储库中存在的问题
  • 使用cherry-picking,这意味着分支机构不会共享历史记录