svn往分支提代码_SVN常用命令与分支操作

这篇博客详细介绍了SVN的基本操作,包括创建版本库、配置文件、启动服务、目录操作、项目导入与导出、代码提交等。重点讲解了如何在SVN中创建分支、取出分支进行开发、合并分支回主干,并处理合并冲突的过程。此外,还提供了批量添加文件到SVN的命令。
摘要由CSDN通过智能技术生成

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值