我正在与其他使用SVN的开发人员合作。我是SVN的新手,我想更好地理解如何最好地使用SVN。
目前,我们有:
__ branch developer 1
Project 1 /___ branch developer 2
| /____ branch developer 3
|____ branches---- \____ branch developer 4
| \___ branch developer 5
|____ tags \__ branch developer 6
|
|____ trunk他们要求我在开始发展之前:
现在我的问题是..。这是正确的方法吗?做这么多合并需要很长时间..。每次都是。或者我们应该只对所有的开发人员使用一个分支?我是SVN的新手,我不想做错事.所以我很感激你能帮我走上正确的道路。
发布于 2012-07-05 09:31:42
不,这不是使用SVN的正确方式。没有理由让每个开发人员都拥有自己的分支。
通常,每个人都在后备箱上工作。如果某些特性需要开发很长时间,并且不能在主干上进行,以避免干扰其他开发人员,则会生成一个特定的特性分支。从主干更改定期合并到此功能分支,一旦功能在其自己的特性分支中被完全开发,分支将重新集成到主干中,并被删除。
如果每个人都必须不断地从其他人的分支合并,这和在后备箱上工作没有什么不同,只不过它更痛苦。而且它也不会扩展到超过2到3名开发者。
我建议阅读免费提供的SVN书,详细解释上述所有内容,并与您的同事讨论,使他们采用传统的最佳实践。
发布于 2012-07-05 09:38:03
我个人认为,目前的实施是疯狂的。目前有7个分支(每个开发人员一个分支),每个分支需要7个合并才能开始任何工作。
一旦更多的开发人员加入到团队中,合并策略就会变得非常麻烦,并且容易出现更多的错误。在开始开发之前,您可能不得不编辑X个分支中的冲突。
我会让每个开发人员在存储库的主干上工作。它更容易管理冲突解决和合并时,只处理一个回购目录。
理想情况下,您希望在敏捷工作流(小规模、可管理的工作块)中工作,该工作流最多只需几天即可完成。任何比这更长的项目都可能需要自己的分支文件夹,这纯粹是为了将代码和大量重构从主干中分离出来,这样就不会破坏团队其他成员的工作流程。
一旦完成了这个大任务,您就只有一个分支文件夹可以合并回主干(其他开发人员在完成工作时不断更新)。
应该使用源代码管理系统来简化开发工作流程,而不是使其更加复杂。
发布于 2012-07-05 10:23:47
我同意其他人的看法,你目前的策略是疯狂的!)
就我个人而言,我更愿意将主干保持为稳定的“实时”版本,并将所有开发都保持在一个分支上,这样所有开发人员都可以在同一个分支上工作,您只需要在功能或项目准备好运行时合并,并且您知道自分支以来主干没有改变。
虽然上面的选项会起作用,但我担心每当主干上发生更改时,您都必须不断更新分支,并且增加冲突的可能性(如果主干是活动代码,则增加冲突的可能性)。
https://stackoverflow.com/questions/11341253
复制相似问题