一、代码管理平台介绍
版本控制,记录若干文件内容变化,以便将来查阅特定版本修订情况
版本管理工具发展史:cvs–>svn–>git
svn:全称subversion,是一个开源版本控制系统,始于2000年
git是Linux的创始人linus发起的,2005年发布。
git与svn不同在于git不需要依赖服务端就可以工作,即git是分布式的。
githup是基于git的在线web页面代码托管平台,可以选择付费服务。
gitlab可以认为是一个开源的github,两种没有直接关系。
二、安装svn
1、使用yum安装svn
[root@node1 ~]# yum install -y subversion
2、创建版本库
[root@node1 ~]# mkdir -p /data/svnroot/myproject [root@node1 ~]# svnadmin create /data/svnroot/myproject/ [root@node1 ~]# ls /data/svnroot/myproject/ conf db format hooks locks README.txt [root@node1 ~]#
3、修改配置文件
authz:权限配置文件
passwd:密码文件
修改权限文件:
[root@node1 ~]# cd /data/svnroot/myproject/conf/ [root@node1 conf]# vim authz [groups] [/] @admins = rw * = r [myproject:/] user1 = rw
修改密码文件:
[root@node1 conf]# vim passwd [users] user1 = 123456
修改配置文件:
[root@node1 conf]# vim svnserve.conf [general] anon-access = none auth-access = write password-db = passwd authz-db = authz realm = /data/svnroot/myproject
4、启动svn
[root@node1 ~]# svnserve -d -r /data/svnroot/ [root@node1 ~]# ps aux | grep svn root 10581 0.0 0.0 180712 808 ? Ss 22:56 0:00 svnserve -d -r /data/svnroot/ root 10765 0.0 0.0 112704 968 pts/0 S+ 22:57 0:00 grep --color=auto svn [root@node1 ~]#
三、Linux上使用svn
在node2上使用svn
1、先安装svn:
[root@node2 ~]# yum install -y subversion
2、连接
[root@node2 ~]# svn checkout svn://192.168.10.205/myproject Authentication realm: <svn://192.168.10.205:3690> /data/svnroot/myproject Password for 'root': Authentication realm: <svn://192.168.10.205:3690> /data/svnroot/myproject Username: user1 Password for 'user1': ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <svn://192.168.10.205:3690> /data/svnroot/myproject can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes Checked out revision 0. [root@node2 ~]# cd myproject [root@node2 myproject]# ls -la total 4 drwxr-xr-x. 3 root root 18 Jul 31 23:06 . dr-xr-x---. 10 root root 4096 Jul 31 23:06 .. drwxr-xr-x. 4 root root 75 Jul 31 23:06 .svn [root@node2 myproject]#
OK,连接成功。
或者:
[root@node2 ~]# svn checkout svn://192.168.10.205/myproject --username=user1 Checked out revision 0. [root@node2 ~]#
进入项目:
[root@node2 ~]# cd myproject/ [root@node2 myproject]# ls [root@node2 myproject]# ls -la total 4 drwxr-xr-x. 3 root root 18 Jul 31 23:06 . dr-xr-x---. 10 root root 4096 Jul 31 23:06 .. drwxr-xr-x. 4 root root 75 Jul 31 23:09 .svn [root@node2 myproject]#
其他的内容请看我在开源中国上的博文:代码管理平台