代码管理平台
一、代码管理平台介绍
版本控制,记录若干文件内容变化,以便将来查阅特定版本修订情况
版本管理工具发展史:cvs-->svn-->git
svn:全称subversion,是一个开源版本控制系统,始于2000年
git是Linux的创始人linus发起的,2005年发布。
git与svn不同在于git不需要依赖服务端就可以工作,即git是分布式的。
githup是基于git的在线web页面代码托管平台,可以选择付费服务。
gitlab可以认为是一个开源的github,两种没有直接关系。
二、安装svn
首先安装subversion
[root@ying01 ~]# yum install -y subversion
创建项目目录,并初始化文件
[root@ying01 ~]# mkdir -p /data/svnroot/myproject //创建svnroot/myproject多层目录
[root@ying01 ~]# ls -la /data/svnroot/myproject
总用量 0
drwxr-xr-x 2 root root 6 8月 30 22:51 .
drwxr-xr-x 3 root root 23 8月 30 22:51 ..
[root@ying01 ~]# svnadmin create /data/svnroot/myproject/ //用svnadmin命令初始化文件
[root@ying01 ~]# ls -la /data/svnroot/myproject
总用量 8
drwxr-xr-x 6 root root 86 8月 30 22:52 .
drwxr-xr-x 3 root root 23 8月 30 22:51 ..
drwxr-xr-x 2 root root 54 8月 30 22:52 conf
drwxr-sr-x 6 root root 233 8月 30 22:52 db
-r--r--r-- 1 root root 2 8月 30 22:52 format
drwxr-xr-x 2 root root 231 8月 30 22:52 hooks
drwxr-xr-x 2 root root 41 8月 30 22:52 locks
-rw-r--r-- 1 root root 229 8月 30 22:52 README.txt
查看其目录下的配置文件目录;authz :控制权限; passwd :密码文件 ;svnserve.conf :仓库的配置文件
[root@ying01 ~]# cd /data/svnroot/myproject/conf/
[root@ying01 conf]# ls
authz passwd svnserve.conf
在authz文件中,增加以下内容
[root@ying01 conf]# vim authz
[groups] //此处为标志,下面内容写在此处
admins = ying,user1 //定义用户组
[/] //根目录,指的是 /data/svnroot/myproject/
@admins = rw //所定义用户组,赋予rw权利
* = r //除admins组外,给所有用户,r的权利
[myproject:/] //项目名称,可以是/data/svnroot/下多个项目
user1 = rw //user1用户具有rw权利
编辑passwd文件,增加以下内容:
[root@ying01 conf]# vim passwd
[users]
aming = www123 //定义ying用户的密码
user1 = www1234 //定义user1的用户密码
配置svnserve.conf文件,添加以下内容
[root@ying01 conf]# vim svnserve.conf
[general] //此处为标志,下面内容写在此处
anon-access = none //匿名用户,无权利
auth-access = write //用户名密码登录,可以写
password-db = passwd //用户的密码存在passwd文件
authz-db = authz //权限控制在authz文件
realm = /data/svnroot/myproject //对此项目生效(处需要绝对路径)
配置完文件,现在可以启动svn;
命令:svnserve -d -r /data/svnroot/ 解释: -d :后台模式(daemon mode) ; -r :要服务的目录的根目录
[root@ying01 conf]# svnserve -d -r /data/svnroot/ //启动svn服务
[root@ying01 conf]# ps aux |grep svn
root 2229 0.0 0.0 162240 656 ? Ss 23:55 0:00 svnserve -d -r /data/svnroot/
root 2231 0.0 0.0 112720 976 pts/0 S+ 23:56 0:00 grep --color=auto svn
[root@ying01 conf]# netstat -lnpt |grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 2229/svnserve
三、客户端上使用svn(linux)