我是 SVN 管理及流程文档领域的新手首次设置 SVN 存储库。我已经使用 SVN 有一段时间了;不过不是以管理员身份使用。这是我迄今为止为项目设置 SVN 存储库所做的事情。
- 在头节点下创建三个节点/branch /trunk /tag。
- 授予开发人员/程序员所需的权限,并要求他们在 /branch 中添加和提交文件。
- 要求 QA 团队检查测试服务器中的文件并确认设置符合规格。
- QA 认证后,我看到 /branch 的最新修订号是 80。
- 我将 /branch 的副本导出到本地系统中名为 /trunk 的文件夹中。
- SVN 添加了 /trunk 中的所有文件
- 将所有文件和文件夹从 /my_trunk 提交到 /trunk (svn commit -m "initial import" ../my_trunk/*)
- /trunk 文件和文件夹的修订版本现在为 81,所有提交消息为“初始导入”。
- 在 /tag 内创建了 /project_1.0 作为子节点,并从 /trunk 复制了 /project_1.0 内的所有文件。这些步骤正确吗?如果我错了,请纠正我。
抱歉我的帖子太长。
答案1
到目前为止,这似乎是正确的。但通常情况下,您会在主干中开发,而不是在分支中开发。分支用于在主干中的主开发线上进行测试和开发,但您可以按照自己的意愿进行。这只是一种惯例。当我重读您的帖子时,您到目前为止确实这样做了。
如果您签入,所有更改的内容都会归入一个新的修订版本。因此,如果您实际上有修订版本 80 并签入了 10 个已更改的文件,则所有签入的文件都将成为修订版本 81,并且您的主修订版本也会上升到 81。文件上的标记会告诉您文件的最后更新是在哪个修订版本中,或者它进入您的 svn 的哪个修订版本。
修订号在所有子目录(如标签、分支和主干)中都会增加。因此,在一个存储库中只托管一个项目而不是在单个存储库下管理不同的项目非常有用。
但是您的步骤和任务看起来都很好。
对我来说正常的方式如下:
-Create repos.
-Create Trunk,Taks, Branches.
-Initial Import into trunk.
-Copy Trunk to Branch.
-Ask QA to test the Branch.
-Reintegrate Branch into trunk (don´t know which software you use for developing.
Normally your software should have an Option for that task. Eclipse does for
example). This is called a merge.
-Then copy merged Trunk to Tags in a special subdir.