代码管理平台SVN

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

扩展内容
同窗分享的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.htmllinux

 

 

1、代码管理平台介绍git

版本控制,记录若干文件内容变化,以便未来查阅特定版本修订状况
版本管理工具发展简史,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,二者没有直接关系

2、安装svn服务端github

yum install -y subversion

 建立目录和版本库 web

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

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

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

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

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

[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 指定路径

3、客户端上使用svn(linux)ssh

使用前注意防火墙和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 //查看变动日志

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

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