代码管理平台SVN

22.1 代码管理平台介绍
22.2 安装svn
22.3 客户端上使用svn(linux)
22.4 客户端上使用svn(windows)

扩展内容
同学分享的svn文档  http://note.youdao.com/noteshare?id=1bb87a28a2973ae5722bf765882c2d8f
svn 多仓库管理  http://elim.iteye.com/blog/1171108
svn+ssh  http://www.linuxfly.org/post/450/
svn清除保存的用户名和密码  http://holy2010.blog.51cto.com/1086044/645944
svn命令详解  http://blog.sina.com.cn/s/blog_963453200101eiuq.html
svn的钩子  http://coolnull.com/1716.html

 

 

一、代码管理平台介绍

版本控制,记录若干文件内容变化,以便将来查阅特定版本修订情况
版本管理工具发展简史,cvs svn  git  参考http://luckypoem14.github.io/test/2012/04/24/scm-history/
svn全称subversion,是一个开源版本控制系统,始于2000年
git是linux创始人linus发起的,2005年发布,最初目的是更好管理linux内核代码
git和svn不同在于git不需要依赖服务端就可以工作,即git是分布式的
关于git和svn的比较大家参考http://blog.lishiming.net/?p=305
github是基于git的在线web页面代码托管平台,可以选择付费服务
gitlab可以认为是一个开源的github,两者没有直接关系

二、安装svn服务端

yum install -y subversion

 创建目录和版本库 

mkdir -p /data/svnroot/myproject
 svnadmin create /data/svnroot/myproject   在这个空目录下,初始化文件

684ac8be83121fc602ee52de26471f56ddf.jpg

cd /data/svnroot/myproject/conf         #authz为权限配置文件,passwd为密码文件,svnserve仓库的配置文件,通过此配置文件启动服务

vim authz        //配置文件添加如下内容:

[groups]    #groups定义组的
admins = tobe,user1
[/]            #这个/(根)指的是/data/svnroot/myproject/这个目录
@admins = rw        #@后跟组名,权限是rw,除了admins组外,其余的都是r权限
*= r
[myproject:/]    #myproject项目名字,即myproject目录,在svnroot下有多个项目的情况下使用
user1 = rw

c7d2d516852d10ead908eec2c21b263936b.jpg

vim passwd        //加入如下内容,左边用户名,右边密码    

[users]
tobe = tobe_!(*$123
user1 = user1_^^^123
user2 = user2_***123

d261c599ca052d602064abdd0b9921a5e88.jpg

vim svnserver.conf    //更改或增加如下内容

[general]
anon-access = none        #匿名用户
auth-access = write        #被授权的用户
password-db = passwd    #用户密码文件存放位置,db指文件,文件在当前目录下,针对svnserver文件的相对路径
authz-db = authz        #权限控制文件位置,db指文件
realm = /data/svnroot/myproject        对哪个项目生效,写绝对路径


svnserve -d -r /data/svnroot     //这样就启动了,-d后台启动,-r 指定路径

b077859d6d1e40a73d349cd635ddb9aa883.jpg

5823338a9196238d1506efac0c8fcd9945d.jpg

三、客户端上使用svn(linux)

使用前注意防火墙和iptables

为了试验便捷,把001这台机器即作为服务端,也作为客户端使用,002也作为客户端


客户端也需要安装:    yum install -y subversion

001:

home下创建一个试验目录svntest
svn checkout svn://192.168.183.3/myproject --username=tobe        检出代码,ip后跟要检出的代码项目

即用户名密码存在目录为:/root/.subversion/servers

aefe3099ba29e2d302c5e27321d97bc497d.jpg

002:

yum install -y subversion

svn checkout svn://192.168.183.3/myproject --username=user1

a0f03accd5cd4b653c280e089204d597e81.jpg

在002客户端本地创建弄一个文件,把这个文件传到服务端:

svn add ./fstab    添加到版本控制中心

svn commit -m "add file"    把文件上传到服务器

 

bc743a12ea4473beef6772e7dde0370f90a.jpg

此时服务端还没有显示

svn up   up全称update,同步,把当前目录下的文件都更新到最新版

d082f2d0644b9b327624df8f3d6b5df1fef.jpg

系统会记录曾经使用的用户名密码,如果不想记录密码,把/root/.subversion/auth/svn.simple目录下的随机文件删除8caedf9bc22e731ce02c3e821d227594

0e9e606fa16c77d958fbc4a7c54718dd09a.jpg

删除文件

svn delete fstab      在服务器上删除

svn commit -m "delete fstab"        删除完成需要提交

001:

25ac148bc3e59479b17f414dfc4dd1f1858.jpg

002:

在002上   svn up   同步

875c538aada75eafba39f4b5afec8675dcc.jpg

svn log //查看变更日志

74c1d3c8b373b1821b060b79dfde26382ce.jpg

四、客户端上使用svn(windows)

 官网 https://tortoisesvn.net/index.zh.html
 下载TortoiseSVN 并安装
使用教程 http://www.jianshu.com/p/6b3b7b915332

转载于:https://my.oschina.net/u/4093217/blog/3075913

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值