我刚创建了一个Google Code SVN存储库,用于存储我的学校项目和家庭作业,并允许在学校和家庭之间轻松转移.
它创建的默认目录是:
https://simucal-projects.googlecode.com/svn/trunk/
https://simucal-projects.googlecode.com/svn/tags/
https://simucal-projects.googlecode.com/svn/branches/
我从来没有为多个项目使用过存储库,但在阅读之后:一个svn存储库还是很多?我决定为我所有的随机学校项目建立一个单独的存储库.
我应该只复制上面的文件夹结构,但对于每个项目?
https://simucal-projects.googlecode.com/svn/projectA/trunk/
https://simucal-projects.googlecode.com/svn/projectA/tags/
https://simucal-projects.googlecode.com/svn/了projectA /分支机构/https://simucal-projects.googlecode.com/svn/projectB/trunk/
https://simucal-projects.googlecode.com/svn/projectB/tags/
https://simucal-projects.googlecode.com/svn/项目B /分支机构/
这是多项目一体回购人员的做法吗?
你有两种选择.你已经提到的那个,那就是每个项目有一个主干(选项1):
https://simucal-projects.googlecode.com/svn/projectA/trunk/ https://simucal-projects.googlecode.com/svn/projectA/tags/ https://simucal-projects.googlecode.com/svn/projectA/branches/ https://simucal-projects.googlecode.com/svn/projectB/trunk/ https://simucal-projects.googlecode.com/svn/projectB/tags/ https://simucal-projects.googlecode.com/svn/projectB/branches/
选项2将有一个主干,每个项目是主干下的子文件夹:
https://simucal-projects.googlecode.com/svn/trunk/projectA/ https://simucal-projects.googlecode.com/svn/tags/projectA/ https://simucal-projects.googlecode.com/svn/branches/projectA/ https://simucal-projects.googlecode.com/svn/trunk/projectB/ https://simucal-projects.googlecode.com/svn/tags/projectB/ https://simucal-projects.googlecode.com/svn/branches/projectB/
选项1的优点是您可以独立地分支和标记每个项目.如果您需要单独部署每个项目,这是可取的.
如果所有项目一起部署,则选项2是可取的.这是因为您只需在部署时标记存储库一次.
由于您在学校项目中使用Subversion,因此您需要问自己是否需要标记您的工作.你也可以问问自己是否需要创建分支(如果你想进行一些实验,你可能会想要).您还需要问问自己,您是否乐意将您的所有工作整合为一个,您是否愿意独立分支每个项目的灵活性.
我一直遵循的经验法则:将我们一起部署的任何内容捆绑在一起.
(顺便说一下 - 你可以在同一个存储库中有许多中继 - 这几乎相当于在多个存储库中有一个中继,除了每个存储库都维护自己的修订计数器,你不能在存储库之间进行合并.)
这就是我用于家庭源代码控制的东西.
我只有一个主存储库的地方.
Repository/Project1/Trunk
Repository/Project1/Tags
Repository/Project1/BranchesRepository/Project2/Trunk
Repository/Project2/Tags
Repository/Project2/Branches
我喜欢这种结构,很容易引用项目并保持完整性.
一个真实的例子:Apache Projects 存储库.