1
7
我总是使用命名分支,因为这让Mercurial能够完成它的工作:保存项目历史记录,并记住为什么对源代码进行了哪些更改。考虑到我的工作风格,在磁盘上放置一个或两个克隆通常是一个简单的问题,至少:
|
2
3
似乎没有比我在问题中列出的更多或更好的选择了。他们又来了。
像往常一样,没有什么灵丹妙药,所以挑选一个适合这份工作的。
最后一步,
|
3
1
所以问题是,当你被告知停止开发特性A,开始独立的特性B时,还有什么其他选择:如何使用mercurial管理并发开发? 让我们看一下删除并发的问题,就像编写线程代码一样——定义一个简单的工作流来解决给定的任何问题,并将其应用于每个问题。一旦完成,Mercurial将加入这项工作。所以,程序员A将在功能A上工作。程序员B将在功能B上工作。两者都恰好是你。(如果我们有多核大脑就好了:)
我同意布兰登的观点,但我想知道他是否忽略了功能A没有经过测试?在最坏的情况下,代码编译并通过单元测试, 与上一个签入不同的是,我将使用这个工具来帮助我回到特性A的轨道上。 特性A的代码是否在您通常签入它的时候? 我的理由是,如果程序员C需要开始特性C,那么重新签出这个分支不再是最好的开始。 保持分支头健康,意味着您可以快速响应,并修复更可靠的错误。 目标是让您的(测试和验证的)代码运行,因此您希望所有代码最终合并到(开发和遗留分支的)头中。我的观点似乎是,我已经看到分支的使用效率低下:代码变得过时,然后就不再使用了,合并变得比原来的问题更困难。 只有你的选择1对我有意义。一般来说:
|