svn分支与合并
来源:互联网 发布:昆仑山 知乎 编辑:程序博客网 时间:2024/06/10 03:27
详细说明svn分支与合并,以及实例
一,svn分支与合并有什么用?
作程序的,对svn在熟悉不过了,但对svn分支熟悉的,我想并不多。因为一般情况下,是用不着svn分支的,其实也没有那个必要。下面我例举几个需要用到svn分支的情况:
1,比较大的项目。比较大的项目,一般情况下会分成几个阶段来完。好比什么五年计划。到了某个阶段时,我建立一个分支,当个备份。万一将来开发下个阶段东西的时候,出现致命错误的时候,我还能把这个分支拿出来接着用。
2,项目要开发新的东西,但是又不想和主干冲突,建立一个分支,单独做为一个开发分支。这样做也是为了责任明确。如果出了问题也好有所查证。
二,创建svn分支
在说创建分支前,关于svn的安装和配置,请参考linux svn安装和配置,不结合apache
1,创建一个代码文件夹main
[root@BlackGhost repos]# pwd
/home/zhangy/checkout/repos
[root@BlackGhost repos]# svn add ./main
A main
A main/test.PHP
[root@BlackGhost repos]# svn commit ./main -m "test"
Adding main
Adding main/test.php
Transmitting file data .
Committed revision 5.
2,创建分支
[root@BlackGhost repos]# svn copy svn://127.0.0.1/repos/main svn://127.0.0.1/repos/branch -m "test"
Committed revision 6.
3,查看分支情况
[root@BlackGhost repos]# svn log -v ./branch/test.php
------------------------------------------------------------------------
r6 | zhangy | 2010-10-24 19:59:35 +0800 (Sun, 24 Oct 2010) | 1 line
Changed paths:
A /branch (from /main:5)
test
------------------------------------------------------------------------
r5 | zhangy | 2010-10-24 19:53:20 +0800 (Sun, 24 Oct 2010) | 1 line
Changed paths:
A /main
A /main/test.php
test
------------------------------------------------------------------------
4,注间事项:
a),创建分支,只能在同一个仓库内进行,跨仓库是不行的。会提示svn: No repository found in 'svn://127.0.0.1'
b),创建分支时,注意加上注释,不然会报以下错误。
[root@BlackGhost repos]# svn cp svn://127.0.0.1/repos/main svn://127.0.0.1/repos/branch
svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found
三,合并分支
下面讲一个例子,来说明怎么合并分支。我觉得通过例子,最能让人学到东西了,我在我的博文一在强调这一点。
1,修改main中的文件提交到svn服务器端,这样main的代码就和branch分支的代码就不一样了。
2,把main文件中的文件同步到分支中branch中
到这儿合并基本上就结束了。
3,上面说的是将主干的文件同步到分支中去,把分支的内容同步步主干也是一样的,倒过来就行了。
4,全并的时候,有可能会冲突的,看下面
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- svn 合并与分支
- svn分支与合并
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- SVN分支与合并
- svn 合并与分支
- 什么是负载均衡
- CompactActivity的时候去掉actionbar,以及状态栏颜色的定制
- 关于Matlab2015在Ubuntu16.04下的崩溃解决方法
- [JAVA学习笔记-65]ThreadPoolExecutor参数解析
- 命令行zkCli.sh使用指南
- svn分支与合并
- JVM笔记(模拟)
- 史上最全的CSS hack方式一览
- easyui导出报表
- jquery实现的一个超级简单的下拉菜单
- 系统架构之系统性能评价
- 查看mysql数据库连接数、并发数相关信息。
- JavaScript的dom事件
- C++中new 一个对象的时候加括号和不加括号的区别