1.传统开发遇到的问题
(1):代码管理混乱
(2):备份多个版本,占用磁盘空间大
(3):解决代码冲突困难
(4):容易引发BUG
(5):难于追溯问题代码的修改人和修改时间
(6):难于恢复至以前正确的版本
(7):无法进行权限控制
(8):项目版本发布困难
2.常见的版本控制工具
VSS : 微软
CVS
SVN
GIT
3.SVN的基本的使用
commit --- checkout --- update
4.SVN的体系架构
SVN的仓库
* DB : 使用数据库作为SVN的仓库
* FSFS :使用系统文件方式作为SVN的仓库
SVN仓库的访问(SVN的服务器)
* 整合Appache形式:http协议访问仓库
* svnserver的形式:使用命令开启SVN的服务,使用SVN的协议访问.
SVN的客户端
* 命令行访问
* 图形化界面
5.SVN的安装(Linux)
第一步,安装svn需要的软件
通过使用命令yum install subversion 来进行在线安装svn的所有的包
第二步,创建svn多版本库目录
通过使用命令,如: mkdir -p /opt/svnFile
第三步,创建第一个版本库
通过svn的管理命令: svnadmin create /opt/svnFile 来创建我们的第一个版本库
第四步,修改创建的刚刚新创建的版本库的配置文件(在刚刚创建的/opt/svnFile目录下面)
修改passwd配置文件: 所有需要权限的用户名和密码都写在这个配置文件中,比如管理人员和测试人员
如: zhangsan=123456
lisi=123456 等
修改svnserve.conf配置文件 :将原来注释掉的四行配置打开即可
<注>这个配置文件如果你要添加权限的话,必须进行修改,因为该配置文件里面的所有配置全部注释了,相当于裸奔,谁都可以访问,所以必须进行修改.
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
修改authz的配置文件,(配置权限的文件)
<根据权限设置分组,如读写权限>
以管理人员和测试人员为例:管理人员:zhangsan,lisi.测试人员:wangwu
在配置文件找到[group],在group虾米那写admin = zhangsan,lisi <注:表示将张三和李四分为管理人员的组>
在配置文件的最后,添加
[/] <注:这个表示根目录,表示下面的组是对根目录的都可以操作>
@admin = rw <注:admin组为可读可写>
wangwu = r <注:测试人员王五为只读权限>
* =
6.启动svn服务
通过命令 svnserve -d -r /opt/svnFile/ 启动svn服务
检验svn是否启动成功:通过命令ps -ef | grep svn查看进程,如果可以看到svn表示启动成功,一般情况是两条进程
这里需要注意的一点,在svn启动成功之后,查看自己linux的防火墙的状态,如果是关闭即可使用,如果是开启状态,请开放svn的端口3690
查看防火墙状态的命令:service iptables status
如果防火墙是开启状态,放行svn的3690端口:
vi /etc/sysconfig/iptables
添加一行配置
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
重新启动防火墙
service iptables restart
查看防火墙状态,可看到svn服务
service iptables status
7.关闭svn
killall svnserve
以上就是关于svn搭建的简单基本步骤,下篇写关于项目commit chekout,update的实际演示.