我已经使用源代码控制系统大约 10 年了,显然每个系统都有自己的习语和实践。
我目前正在使用 Mercurial 进行 .NET 开发,并且有一个特殊要求,我想知道您的意见是什么才能最好地实现我的目标。
我们开发了一个基线产品,它是一种滚动发布。一些客户需要精简产品(由于获得更便宜的许可证)或完成定制工作。我倾向于分支“主干”(Mercurial 中的默认分支),进行定制工作并创建构建。
当在“主干”中完成新工作并且我需要来自定制分支的新构建时,我将使用合并更改hg merge -r CHANGESET_NUM_FROM_DEFAULT_HERE
然后进行构建。
这很好用,但是定制分支很快就会充满与“主干”相关的提交,而不是真正的定制功能。这意味着当我需要查看此分支的变更集时,它们会很混乱。
我真正希望它转移分支“连接点”开始的位置,因此定制变更列表仅包含定制签入,但定制分支的父级发生了变化。
我尝试使用 rebase 扩展,因为它看起来应该这样做,但它反而做了很多合并并且仍然使我的定制分支变得混乱。
有没有办法让我的定制分店保持清洁?还是我以错误的方式处理事情?