1.基本操作

1.0 创建版本库:

Svnadmin create /data/repos

2.0 修改配置文件 
Auth文件   
[groups]   
admin=shguo   
[/]   
@admin=rw   
*=r  
[groups] admin=shguo [/] @admin=rw *=r

Passwd文件
[users]   
shguo=shguo  
[users] shguo=shguo

Svnserve.conf文件
anon-access = read   
auth-access = write   
password-db = passwd   
authz-db = authz

注意:要去掉前面的空格不然会报,认证配置失败

3.0启动:

svnserve –d –r repos

4.0 创建目录
svn mkdir svn://127.0.0.1/repos/ -m “mkdir”  (说明“”中是提交的log注释)
svn mkdir svn://127.0.0.1/repos/sns/  -m “mkdir”   
svn mkdir svn://127.0.0.1/repos/sns/trunk  -m “mkdir”   
svn mkdir svn://127.0.0.1/repos/sns/branches -m “mkdir”   
svn mkdir svn://127.0.0.1/repos/sns/tags  -m “mkdir”
或者本地操作
svn mkdir file:///data/repos/ -m “mkdir” 
svn mkdir file:///data/repos/sns/ -m “mkdir” 
svn mkdir file:///data/repos/sns/trunk -m “mkdir” 
svn mkdir file:///data/repos/sns/branches -m “mkdir”

svn mkdir file:///data/repos/sns/tags -m “mkdir”

5.0导入项目:
Svn import sns svn://127.0.0.1/repos/sns/trunk/ –m “init project”   
查看:svn list svn://127.0.0.1/repos/sns/trunk/

6.0导出项目开发:

Svn checkout svn://127.0.0.1/repos/sns/trunk/sns

7.0进入目录就可以进行开发操作了
Cd sns   
Svn status   
Svn add  new.txt   
Svn commit –m ‘commit’  
Svn log new.txt

其它一些命令:
Svn update    
Svn diff –r m:n path   
Svn lock some.java or svn unlock some.java   
Svn revert    
Svn add /delete / copy / move   
Svn switch –relocate svn://xxxx/one   svn://xxxx/two

Svn list path

2. Svn中分支的使用

2.0 创建分支
Svn cp http://svn.shguo.com/repos/sns/trunk/  http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo -m “shguo_branch”  
也可以通过 TortoiseSVN 中的Branch/tag来创建分支

2.1 取出分支来开发

Svn co http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo  101128_sns_imageUpload_shguo

2.2开发完成后向主干提交

检查需要合并的分支的历史:
svn log --stop-on-copy -q http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo
合并:
svn merge –r 16:HEAD http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo

2.3检查冲突: 
svn status 
如果有解决冲突,没有就svn commit命令就可以完成提交

2.4 批量增加svn文件
svn add `svn st |grep ? |awk '{print $2}'`   
svn st |grep ? |awk '{print $2}' |xargs svn add

2.5 批量增加svn:ignore属性
svn propset svn:ignore  -F ~/.svnignore -R /app/work/app1  
------------------------------------------------------------------------------------------
整个具体流程总结如下 :
1.建立两套服务器.配置一致.程序发布的目录等设置也保持一致 如:(QA环境 生产环境)
2.其中一套作为开发测试环境使用.一套作为生产环境使用
3.SVN建立trunk目录作为主代码分支,,建立branch目录作为其他分支;如svn://project/trunk    svn://project/branch
4.开发人员使用branch分支进行开发;(问题点:开发自测和QA测试环境)
5.当确认某个测试版本稳定后.将branch分支的内容合并(merge)到主干.
6.运维将测试环境主干代码update到生产环境;
 
3.分支使用命令示例:
3.0 创建分支

svn cp http://..../project/trunk  http://..../project/branch/mall_bugid3012_order -m “order”

3.1 取出分支开发
3.2 开发完成后提交

3.3 检查需要合并的分支记录

svn log –stop-on-copy –q http://..../project/branch/mall_bugid3012_order

3.4 合并

svn merge –r  旧版本号:新版本号(head) http://..../project/branch/mall_bugid3012_order

3.5 检查冲突和提交

svn status 
   svn commit

 

SVN常用命令与分支操作的更多相关文章

  1. 转载-SVN常用命令

    SVN(Subversion)是一个自由.开源的项目源代码版本控制工具.目前,绝大多数开源软件和企业代码管理,都使用SVN作为代码版本管理软件. Subversion将文件存放在中心版本库里,这个版本 ...

  2. linux命令行下svn常用命令

    linux命令行下svn常用命令 1. 将文件checkout到本地目录 1 #path是服务器上的目录 2 svn checkout path 3 4 #示例 5 svn checkout svn: ...

  3. SVN常用命令说明

    本文转载至  http://www.blogjava.net/jasmine214--love/archive/2011/01/12/342839.html :1.5 及更新版本 名词说明: WC:W ...

  4. SVN常用命令说明(转载)

    转自:http://www.blogjava.net/jasmine214--love/archive/2011/01/12/342839.html /** * 转载请注明作者longdick htt ...

  5. SVN常用命令--Mac端【转载】

    * 版本库布局 1. trunk主干 trunk就是开发的主线,一般项目都是导入到主线来开发的. 2. branches分支 branches一般是trunk某个版本的拷贝,如果你想在某一段时间单独对 ...

  6. linux下svn常用命令

    (如果是第一次提交文件,很可能会出现“svn:'.'不是工作副本”,即当前目录不是工作副本,这个时候需要用到import: eg:svn import . url) 1.将文件checkout到本地目 ...

  7. mac终端下svn常用命令

    svn基本的操作流程就是: 你刚刚进入一个新的公司,让你接手一个正在进行的项目,你打开终端写下了:svn co svn://192.168.1.1/pro/domain 然后就可以在当前目录里面找到一 ...

  8. svn 常用命令行

    1.将文件checkout到本地目录    svn checkout path(path是服务器上的目录)    例如:svn checkout svn://192.168.1.1/pro/domai ...

  9. SVN常用命令备注

    1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:s ...

随机推荐

  1. SQL语句的一些基本使用以及一些技巧

    #SELECT 列名1, 列名2, from 表明 #SELECT id,title,content,type from news 效率相对较高#SELECT * from news *代表所有字段, ...

  2. uva10160(dfs+状态压缩)

    题意:给出n个点,以及m条边,这些边代表着这些点相连,修一个电力站,若在某一点修一个站,那么与这个点相连的点都可以通电,问所有的点都通电的话至少要修多少个电力站........ 思路:最多给出的是35 ...

  3. IOS之TableViewCell重用机制避免重复显示问题

    常规配置如下 当超过tableView显示的范围的时候 后面显示的内容将会和前面重复. 1 // 这样配置的话超过页面显示的内容会重复出现 2 - (UITableViewCell *)tableVi ...

  4. 一款手机端的jQuery图片滑块插件

    今天我们要介绍一款比较特别的jQuery图片滑块插件,它不仅在PC浏览器上可以使用,而且更适合在手机端的网页中使用.这款jQuery插件不仅可以定义图片切换的方向,而且可以即时切换图片切换的动画方式, ...

  5. zTree V3 是个好东西 功能很强大

    zTree V3 是个好东西 功能很强大 地址:http://www.ztree.me/v3/demo.php#_101

  6. rhel6.5 虚拟机的安装

    一.准备: 在网上下载 rhel-server-6.5-x86_64-dvd.iso 并在 非 C盘下创建一个目录 ,比如:E:\VM\rhel_test 二. 创建虚拟机 进入 VMware , 点 ...

  7. NFS根文件系统

    按照以前文档可以正确制作根文件系统,并且开发板可正确nfs挂测主机目录. 现只需修改bootargs,使内核启动时挂测文件系统即可.setenv bootargs mem=64M console=tt ...

  8. iOS边练边学--CALayer,非根层隐式动画,钟表练习

    一.CALayer UIView之所以能显示在屏幕上,完全是因为他内部的一个图层 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性 ...

  9. 上手并过渡到PHP7(3)——Uniform Variable Syntax到底统一了什么

    PHP7 up and running 泊学原文链接泊学实操视频 Uniform Variable Syntax 在PHP 7提出Uniform Variable Syntax之前,我们大多数人可能都 ...

  10. thinkphp 查询指定分类下的文章

    $list = $Dao->query("SELECT xp_wztj.bt,xp_wztj.time,xp_wztj.gjz,xp_wztj.wz,xp_wzfl.name FROM ...