如果我们仅在Subversion中使用一个分支,我们是否还要打扰?我们不能只在行李箱上工作以加快速度吗?
这就是我们使用Subversion开发的方式:
- 有一个行李箱
- 我们建立了一个新的发展分支
- 我们在该分支上开发了一项新功能
- 完成功能后,将其合并到主干中,删除分支,并从主干中创建新的开发分支
当我们要发布到生产环境时,我们会在行李箱中制作一个标签。错误修正是在该标签的分支上进行的。然后,此错误修正将合并到主干中。
这就是为什么在功能完成后我们创建了一个新的开发分支的原因。这样,错误修正会尽快包含在我们的新代码中。
下图应阐明:
现在,感觉这不是最有效的工作方式。我们在提交之前在本地进行构建,这大约需要5-10分钟。您可以理解,等待时间很长。
开发分支的想法是主干始终可以发布。但这在我们的情况下已不再是真的。有时,一项功能几乎已经准备就绪,并且一些开发人员已经开始编写下一个功能(否则,他们将围坐在一个或两个开发人员完成并合并的位置)。
然后,功能部件1完成后,将其合并到主干中,但包含功能部件2的某些提交。
那么,由于我们只有一个分支,我们是否应该还要烦扰开发分支?我一直在阅读有关基于主干的开发和逐个分支的信息,但是我发现大多数文章都集中在逐个分支的部分。我的印象是,重大变化将涉及多个版本。这不是我们遇到的问题。
你怎么看?我们可以在行李箱上工作吗?最坏的情况是(我认为),我们将不得不在主干中做一个标签,并挑选需要的提交,因为某些提交/功能尚未准备好投入生产。