请在Mercurial中建议更好的工作流程

uzo*_*uzo 5 workflow mercurial netbeans

我是Mercurial的新手,我开始意识到我的基本工作流程可能不是最有效的工作方式,因为我经常执行提交,而且功能改进非常小,以至于我需要更早地找到一些步骤恢复,这是非常困难的.

这是我在Mercurial中设置项目并完成第一次提交后所做的事情.

  1. 对文件进行一些更改并使其进入一个小改进正在运行的状态
  2. hg commit -m "improvement A works"
  3. 对同一个文件进行一些更改,并使其进入下一个小改进工作的状态.
  4. hg commit -m "improvement B works"
  5. 检查是否所有次要改进都会使单个次要功能正常工作.
  6. hg commit -m "feature A works"

如果我发现"改进A"中出现了错误,我打开历史记录(使用Netbeans Mercurial可视插件)并将一些代码复制并粘贴回我当前版本并从那里重新开始.

这似乎不是一个好的系统 - 我会很感激任何建议.

las*_*ock 10

我同意Jon的观点,即分支是解决方案,但我会为功能创建分支,而不是为构成功能的各个改进创建分支.工作流模式将是这样的:

  1. 为功能A创建分支.
  2. 完成改进A和提交的工作.
  3. 完成改进B和提交的工作.
  4. 当该功能似乎正常工作时,将功能A分支合并回主干.

如果您在功能A的改进A中发现错误,而不是重新开始,则切换到功能A分支并执行以下操作:

  1. 修复改进A并提交.
  2. 合并功能A分支回到主干.


Jon*_*Jon 7

您可以将改进的更改隔离到保持稳定主干的分支中.
看一下Branch wiki页面.

工作流程模式将是:

  1. 创建改进分支A.
  2. 完成改进A和签到的工作
  3. 如果成功,测试更改并合并回主干
  4. 创建改进分支B.
  5. 完成改进工作B和签到
  6. 如果成功,测试更改并合并回主干

如果您发现错误,您可以放弃分支(或在合并回主干之前纠正分支中的错误).