2009-08-18 69 views
3

我刚刚开始在C#项目中使用Subversion。我正在单独开展这个项目,但我试图对待,就好像我在一个团队中工作以获得自己的学习体验。如果只有一个人在一个项目上工作,你应该在颠覆中使用分支吗?

据我所知,使用颠覆的典型方式是拥有一个始终构建的主干文件夹。然后在新分支中创建重大更改,然后在完成后将其合并回主干。因此,不同的团队成员可能会同时在许多分支机构工作。

但是,如果我在我自己的工作是否有任何意义,使分支?假设我在HEAD修订版100中。我将在修订版101中创建一个分支,然后继续在分支上工作,直到修订版110为止。现在我可以将110重新合并到主干中,但是项目中没有其他人,所以不会有任何更改主干合并回。我刚刚合并到我最初创建分支的修订版100中。

回答

10

分行与有多少人正在从事项目无关。分支用于替代开发流,如不同的功能集,硬件目标或客户端。

如果有100人正在处理单个交付物,他们应该使用同一个分支。如果一个人支持十几种不同的交付物,他应该有十几个分支机构。

+0

我一直在想它的方式是我的箱子总是一个工作版本,当我进行重大更改和破坏时,我通常会在分支上工作。作为一个人我不必担心协作问题,但是如果我没有分支机构,当我想向某人展示最新的工作版本时,我必须记住要更新回某个特定的修订版本号。如果我在一个分支工作,那么我知道我总是可以在主干上采取最新版本。 – 2009-08-19 02:01:51

4

我认为分支机构应该始终用于分割实际的代码,例如当你需要为某个问题尝试一个远距离的解决方案时。通过分支机构,您可以分离问题和解决方案的尝试并保持版本控制。

0

创建分支时似乎没有太多意义,如果只是你在项目上工作 - 你可以直接使用修订版回滚到。

如果无论您想做些重大的实验性的事情,想尝试一些东西,那么您可以使用该分支来隔离您的更改并保留树干。

你完全可以像这样工作,然后使用发布标签或分支作为历史目的...和其他分支进行实验性工作。

4

一个分支(与标签相对)是一个可维护的版本的代码。即使作为单个开发人员,您也可能需要维护多个版本的代码(例如,将错误修正移植到旧版本)。
SVN书籍列出了SVN分支here两个最常见的用例。
这两种方法的分支策略与项目中开发人员的数量无直接关系。
除非您正在研究短期项目(如学术,单一版本,项目),否则请尝试使用其中一项政策。管理开销足够低,它可以让你的生活更加轻松。

0

我保留2个分支:开发和树干,因为你永远不知道什么时候必须快速修复生产。在将它们移植到产品之前,我可能会在1-3周内开发新功能。与此同时,我可能不得不推出针对生产的修补程序。通过保留2个分支,我可以轻松部署错误修复。

相关问题