我是Mercurial的新手,我开始意识到我的基本工作流程可能不是最有效的工作方式,因为我经常执行提交,而且功能改进非常小,以至于我需要时找到一些早期的步骤来恢复,这是非常困难的。
这是我在Mercurial中设置项目并完成第一次提交后的操作。
hg commit -m "improvement A works"
hg commit -m "improvement B works"
hg commit -m "feature A works"
如果我发现“改进A”中出现了错误,我打开历史记录(使用Netbeans Mercurial可视插件)并将一些代码复制并粘贴回我当前版本并从那里重新开始。
这似乎不是一个好的系统 - 我会很感激任何建议。
答案 0 :(得分:10)
我同意Jon的观点,即分支是解决方案,但我会为功能创建分支,而不是为构成功能的各个改进创建分支。工作流模式将是这样的:
如果您在功能A的改进A中发现错误,而不是重新开始,则切换到功能A分支并执行以下操作:
答案 1 :(得分:7)
您可以将改进的更改隔离到保持稳定行李箱的分支中 看看Branch wiki page。
工作流程模式将是:
如果您发现错误,可以放弃分支(或在合并回主干之前纠正分支中的错误)。
答案 2 :(得分:4)
我不同意分支方法。如果不需要并行开发,为什么要增加分支的复杂性?小'checkpoint'提交没有错。标签可用于指向重要的提交,这可能更清楚。