Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 67.2MB ·虚拟内存 1300.3MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
Branch 选项会给开发者创建出另外一条线路。当有人希望开发进程分开成两条不同的线路时,这个选项会非常有用。
比如项目 demo 下有两个小组,svn 下有一个 trunk 版。
由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组 1 继续完成原来正进行到一半的工作(某个模块),小组 2 进行新需求的开发。
那么此时,我们就可以为小组2建立一个分支,分支其实就是 trunk 版(主干线)的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后我们可以通过(合并)功能,将分支合并到 trunk 上来,从而最后合并为一个项目。
我们在本地副本中创建一个 my_branch 分支。
root@aizws:~/svn/aizws01# ls branches tags trunk root@aizws:~/svn/aizws01# svn copy trunk/ branches/my_branch A branches/my_branch root@aizws:~/svn/aizws01#
查看状态:
root@aizws:~/svn/aizws01# svn status A + branches/my_branch A + branches/my_branch/HelloWorld.html A + branches/my_branch/readme
提交新增的分支到版本库。
root@aizws:~/svn/aizws01# svn commit -m "add my_branch" Adding branches/my_branch Replacing branches/my_branch/HelloWorld.html Adding branches/my_branch/readme Committed revision 9.
接着我们就到 my_branch 分支进行开发,切换到分支路径并创建 index.html 文件。
root@aizws:~/svn/aizws01# cd branches/my_branch/ root@aizws:~/svn/aizws01/branches/my_branch# ls HelloWorld.html index.html readme
将 index.html 加入版本控制,并提交到版本库中。
root@aizws:~/svn/aizws01/branches/my_branch# svn status ? index.html root@aizws:~/svn/aizws01/branches/my_branch# svn add index.html A index.html root@aizws:~/svn/aizws01/branches/my_branch# svn commit -m "add index.html" Adding index.html Transmitting file data . Committed revision 10.切换到 trunk,执行 svn update,然后将 my_branch 分支合并到 trunk 中。
root@aizws:~/svn/aizws01/trunk# svn merge ../branches/my_branch/ --- Merging r10 into '.': A index.html --- Recording mergeinfo for merge of r10 into '.': G .
此时查看目录,可以看到 trunk 中已经多了 my_branch 分支创建的 index.html 文件。
root@aizws:~/svn/aizws01/trunk# ll total 16 drwxr-xr-x 2 root root 4096 Nov 7 03:52 ./ drwxr-xr-x 6 root root 4096 Jul 21 19:19 ../ -rw-r--r-- 1 root root 36 Nov 7 02:23 HelloWorld.html -rw-r--r-- 1 root root 0 Nov 7 03:52 index.html -rw-r--r-- 1 root root 22 Nov 7 03:06 readme
将合并好的 trunk 提交到版本库中。
root@aizws:~/svn/aizws01/trunk# svn commit -m "add index.html" Adding index.html Transmitting file data . Committed revision 11.
版本管理系统支持 tag 选项,通过使用 tag 的概念,我们可以给某一个具体版本的代码一个更加有意义的名字。Tags 即标签主要用于项目开发中的里程碑,比如开发到一定阶段可以单独一个版本作为发布等,它往往代表一个可以固定的完整的版本,这跟 VSS 中的 Tag 大致相同。