Netbeans 请在Mercurial中建议更好的工作流程
我是Mercurial的新手,我开始意识到我的基本工作流程可能不是最有效的工作方式,因为我执行提交的频率太高,功能改进太小,以至于当我需要找到更早的步骤来恢复时,这是非常困难的 以下是我在Mercurial中建立了一个项目并完成了第一次提交后所做的事情Netbeans 请在Mercurial中建议更好的工作流程,netbeans,mercurial,workflow,Netbeans,Mercurial,Workflow,我是Mercurial的新手,我开始意识到我的基本工作流程可能不是最有效的工作方式,因为我执行提交的频率太高,功能改进太小,以至于当我需要找到更早的步骤来恢复时,这是非常困难的 以下是我在Mercurial中建立了一个项目并完成了第一次提交后所做的事情 对文件进行一些更改,并使其处于一个小改进有效的状态 hg提交-m“改进A工作” 对同一个文件进行一些更改,并使其处于下一个小改进正在起作用的状态 hg提交-m“改进B工作” 检查是否所有次要改进加起来就是一个次要功能正常工作 hg commit-
hg提交-m“改进A工作”
hg提交-m“改进B工作”
hg commit-m“功能A有效”
这似乎不是一个好的系统-我希望得到任何建议。您可以将改进的更改隔离到保持稳定主干的分支中。
看一看 工作流模式将是:
如果发现错误,可以放弃分支(或在合并回主干之前纠正分支中的错误)。我同意Jon的观点,分支是解决方案,但我会为功能创建分支,而不是为组成功能的单个改进创建分支。工作流模式将是这样的:
我不同意这种做法。如果不需要并行开发,为什么还要增加分支的复杂性?小的“检查点”提交没有问题。标记可以用来指向重要的提交,这可能更清楚。las3jrock:谢谢。为什么你推荐特性的分支而不是特性中的改进?我推荐特性的分支而不是构成每个特性的单个改进,因为这使分支成为存储库(包含项目的整个修订历史)之间的中间抽象级别和单个提交(这是修订历史记录的原子单位)。在此工作流中,相关的提交在分支中分组在一起。在Jon描述的工作流中,似乎每个分支都只包含一个提交,在这种情况下,分支和提交是修订历史的同一单元的冗余表示。不,不,我不想暗示您将使用一个分支进行一次提交-这太可笑了:)。它只是用来指定一个工作单元——一个改进可能是在web表单中添加一个新字段,或者是一个bug修复,或者是一个主要项目本身,这取决于你决定你想要工作的粒度…@Jon:我很确定这不是你的意思,但在最初的问题中,它是这样理解的。我认为我们同意,分支应该在存储库级别和提交级别之间的某个粒度级别上存在,确切的粒度级别由用户决定。;-)