22.1 代码管理平台
代码管理平台,也可以称为代码管理工具,顾名思义,就是管理代码的平台,代码可以是公司开发的网站,或者是开发的项目,我们需要把这些代码放到一个平台上面进行管理。
说到这可能有人会想,不就是代码吗?我把它放在服务器上的某个目录不就行了吗?开发完新的项目再把代码传上去替换掉旧的代码不就可以了吗?
当然,对于网站来说,这样做是没什么问题的。但是,如果代码每天有很多的地方在更新,当有一天,你想看到最近一段时间代码变化的地方,你怎么看?很不方便,而且你和同事都在开发的时候想看到对方开发的内容。而代码管理平台就能很容易实现目的。
代码管理工具的作用:
1. 能追踪一个项目从诞生一直到定案的过程
2. 记录一个项目的所有内容变化,无限制返回
3. 查看特定版本的修订情况
常用的代码管理工具:
CVS
开启版本控制之门
1990年诞生,“远古时代”的主流源代码管理工具
SVN
全称是Subversion,C/S架构,集中式版本控制之王者
是CVS的接班人,速度比CVS快,功能比CVS多且强大
在国内软件企业中使用最为普遍(70%-90%)
GIT
一款伟大的分布式源代码管理工具
目前被越来越多的开源项目使用
SVN正在被GIT慢慢取代
GIT与SVN的不同在于GIT是分布式的,GIT不需要依赖服务端就可以工作,而SVN是集中式的,所以不行。
另外,github是基于git的在线web页面代码托管平台,可以选择付费服务。而gitlab可以认为是一个开源的github,两者没有直接关系。
22.2 SVN
SVN使用(Linux)
因为是C/S架构,所以需要安装服务端和客户端。
准备两台机器,一台作为服务端,IP:192.168.100.150,一台作为客户端,IP:192.168.100.160。
服务端操作
- 安装svn:
# yum install -y subversion
- 创建版本库:
# mkdir -p /data/svnroot/myproject
# svnadmin create /data/svnroot/myproject #初始化文件
# ls /data/svnroot/myproject/
conf db format hooks locks README.txt
# ls /data/svnroot/myproject/conf/
authz passwd svnserve.conf
# vim /data/svnroot/myproject/conf/authz #authz是权限控制文件,添加下面内容
lzxs = lzx,user1 #定义lzxs组,组下面有两个用户lzx、user1
[/] #这里的 / 指的是/data/svnroot/myproject/目录
@lzxs = rw #@指定组,rw可读可写
* = r #*指所有
也可以下面这样写,在项目很多的时候可以使用下面方式
[myproject:/]
user1 = rw
# vim /data/svnroot/myproject/conf/passwd #passwd是账号密码文件;在[users]添加以下内容
lzx = lzx_!(123
user1 = user1_^^^ #左边是用户,右边是密码
# vim /data/svnroot/myproject/conf/svnserve.conf #svnserve是服务配置文件;在[general]下面添加以下内容
anon-access = none #指匿名用户,无任何权限
auth-access = write #指被授权用户,可写权限
pa