4

我刚开始在 C# 项目上使用 Subversion。我一个人在做这个项目,但我试图把我当作是为了我自己的学习经验而在一个小组中工作。

据我了解,使用颠覆的典型方法是拥有一个始终构建的主干文件夹。然后在新分支中创建主要更改,然后在完成后将其合并回主干。因此,不同的团队成员可能同时处理许多分支。

但是,如果我自己工作,建立一个分支有什么意义吗?假设我在 HEAD 中的第 100 版。我将在修订版 101 创建一个分支,然后继续处理该分支直到修订版 110。现在我可以将 110 合并回主干,但项目中没有其他人,因此不会有任何变化树干合并回。我只是重新合并到我最初创建分支的第 100 版。

4

5 回答 5

10

分支与有多少人在做一个项目无关。分支用于替代开发流,例如不同的功能集、硬件目标或客户端。

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

于 2009-08-18T22:56:59.833 回答
4

我认为应该始终使用分支,您需要将实际代码与基础代码分开,例如当您需要为某个问题或某事尝试一个牵强的解决方案时。使用分支,您可以将问题和解决尝试分开,并保持版本控制。

于 2009-08-18T22:56:35.840 回答
4

分支(与标签相反)是代码的可维护版本。即使作为一个单独的开发人员,您也可能希望维护多个版本的代码(例如,将错误修复迁移到旧版本)。SVN 书在这里
列出了 SVN 分支的两个最常见用例。 两种方法的分支策略都与项目中的开发人员数量没有直接关系。 除非您正在从事短期项目(例如学术、单一版本、项目),否则请尝试使用这些策略之一。管理开销足够低,它可以让您以后的生活更轻松。

于 2009-08-18T23:54:03.180 回答
0

如果只有您在项目上工作,创建分支似乎没有太多意义 - 毕竟您可以使用修订版回滚。

但是,如果您想做一些重大的和实验性的事情并想尝试一些事情,那么您可以使用分支来隔离您的更改并保留主干。

您可以像这样完全在主干之外工作,然后将发布标签或分支用于历史目的……以及其他分支用于实验工作。

于 2009-08-18T22:59:21.763 回答
0

我保留了 2 个分支:开发和主干,因为您永远不知道何时必须对生产进行快速修复。在将它们移植到生产环境之前,我可能会在新功能上工作 1-3 周。与此同时,我可能不得不对生产进行修复。通过保留 2 个分支,我可以轻松地仅部署错误修复。

于 2009-08-19T00:04:03.427 回答