水银。被遗弃 - 另类实施分支机构的做法?

时间:2016-11-23 12:52:53

标签: version-control mercurial repository branch branching-and-merging

我们使用 Mercurial 作为源代码控制,主要使用命名分支来完成我们关闭并合并到开发分支的主要功能。

最近我对特定问题有两种不同的解决方案。我无法决定选择哪个,因为两者都有其优点和缺点,所以我实现了它们两者但必须选择一个合并到主分支

第二个实现并不打算合并到主分支中。但我仍然希望保留它以防万一它可能在某一天有用。

一个明显的解决方案是只为每个分支打开一个命名分支。关闭两者并将1合并到主体中。

但这会在源树中留下某种“混乱”。

还有其他替代方案或最佳做法吗?

1 个答案:

答案 0 :(得分:1)

我们RhodeCode使用完全基于书签的解决方案,并提取请求功能。

我们使用rebase作为合并策略,这使得提交图更好,更干净。如果我们需要跟踪更改,您可以随时返回到原始拉取请求,并查看开发过程包括CI测试/代码注释。

书签在我们看来是更好的选择,因为它是一个轻量级指针,这允许你做简单的rebase / commit squash,然后简​​单地推送新的书签指针并用这个信息更新pull请求。这与Mercurial的阶段支持相结合,提供了一种处理新代码提交的非常好的方法。 (在主要回购中公开,在提交来源的叉子中草稿)

到目前为止,我们在内部开发了数以千计的拉取请求,并且我们都同意团队这是最灵活,也是最简单的流程。