我是 SVN 的初学者。我的 SVN 目录结构如下:
|-trunk
|-file1.php
|-file2.php
|-branches
|-branch_1
|-file1.php
|-file2.php
|-branch_2
|-file1.php
|-file2.php
在主干中我有我的应用程序的主要版本。我有两个针对不同客户端的分支,它们仅在某些文件中进行了修改。当我发现一些核心错误时,我会在主干中修复它。例如我修改了file1.php
in trunk
目录。我想将更改应用到名为file1.php
在所有分支机构。
我有点困惑。在里面使用 Subversion 进行版本控制 http://svnbook.red-bean.com/en/1.1/index.html我找到了以下解释。
Subversion 的存储库有一个特殊的
设计。当您复制目录时,您
不需要担心
存储库变得越来越庞大——Subversion
实际上并不重复任何数据。
相反,它会创建一个新目录
指向现有树的条目。
所以我认为当我提交文件中的更改时trunk\file1.php
它将自动应用于其他file1.php
文件,因为我没有对这些文件进行任何更改branches
目录。
如何将主干目录中的更改应用到所有分支?我试图使用svn merge
像这样:
svn merge -r 31:32 http://mysvnserver.com/project/branches/branch_1
但我没有做任何改变(svn diff -r 31:32
返回我所做的所有更改。)
如果要将主干的更改应用到branch_1,则合并命令需要指定从何处获取差异from,然后指定要应用合并的目标:
cd branch_1
svn merge -r 31:32 http://mysvnserver.com/project/trunk .
svn diff # confirm that the only diff is your change to file1.php
svn commit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)