您的位置:首页 > 其它

SVN常用命令与分支操作

2014-02-14 17:02 253 查看

说明:在安装SVN后,在CMD命令操作

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: