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 在这个空目录下,初始化文件
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
vim passwd //加入如下内容,左边用户名,右边密码
[users] tobe = tobe_!(*$123 user1 = user1_^^^123 user2 = user2_***123
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 指定路径
三、客户端上使用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
002:
yum install -y subversion svn checkout svn://192.168.183.3/myproject --username=user1
在002客户端本地创建弄一个文件,把这个文件传到服务端:
svn add ./fstab 添加到版本控制中心 svn commit -m "add file" 把文件上传到服务器
此时服务端还没有显示
svn up up全称update,同步,把当前目录下的文件都更新到最新版
系统会记录曾经使用的用户名密码,如果不想记录密码,把/root/.subversion/auth/svn.simple目录下的随机文件删除8caedf9bc22e731ce02c3e821d227594
删除文件
svn delete fstab 在服务器上删除 svn commit -m "delete fstab" 删除完成需要提交
001:
002:
在002上 svn up 同步
svn log //查看变更日志
四、客户端上使用svn(windows)
官网 https://tortoisesvn.net/index.zh.html
下载TortoiseSVN 并安装
使用教程 http://www.jianshu.com/p/6b3b7b915332