Linux 搭建 SVN 服务器
在搭建svn服务器之前我们必须要明白为什么要使用svn:是为了版本控制那什么是版本控制:版本控制是一种软件工程技巧,借此能在软件开发中确保不同人所编辑的同一代码文件都能得到同步。版本控制的其他作用:版本控制可以让版本库中的任意一个文件恢复到任意一个历史版本,而且还可以追溯任意版本中任意一行在什么时候被什么人修改过,版本控制还可以随时恢复以前某个版本.
在搭建svn服务器之前我们必须要明白
为什么要使用svn:是为了版本控制
那什么是版本控制:
版本控制是一种软件工程技巧,借此能在软件开发中确保不同人所编辑的同一 代码文件都能得到同步。
版本控制的其他作用:版本控制可以让版本库中的任意一个文件恢复到任意一 个历史版本,而且还可以追溯任意版本中任意一行在什么时候被什么人修改过,版本控制还可以随时恢复以前某个版本.
1 并发修改:
多个开发人员同时对同一个文件进行修改 (重要)
2 并发提交:
版本控制中的版本记录,是需要开发人员的提交操作来触发的,也就是说只有 提交才会记录版本号,否则不会记录版本号;如果修改了多个文件后提交那么
CVS会一个一个提交,每个文件被修改后都会记录一个不同版本号,而SVN
和GIT可以同时提交多个文件的修改,而且这一次被修改的多个文件记录的是 同一个版本号;那么这两种方式各有优缺点,每个文件都会记录一个版本号, 就会占用很大的磁盘空间,但是定位BUG十分方便只需定位版本号中即可,
但SVN和GIT就需要从批量的文件中查找,十分困难。
3历史轨迹:
如果说一个文件的文件名称被修改了那么CVS就无法追踪到修改文件名之前的
版本了但SVN和GIT依然可以追踪所有的历史版本。
4分布式:
指的是是否需要一台专门的服务器来运行版本控制系统,CVS,SVN是集中式
的版本控制系统,那么它就需要一台专门的服务器来运行版本控制系统,而GIT
是分布式它不需要,每个开发人员的各自的电脑所组成的网络就可以运行GIT。
LINXU SVN 的安装
创建代码库:
#svnadmin create /path/repos可以通过绝对路径或者相对路径来创建
删除版本库
# rm -rvf /path/repos
版本库的配置及权限分组
版本库的配置文件位于版本库目录下的conf/文件夹
三个文件的功能
svnserve.conf 详解
anno-access = read
未经验证的用户及没有用户名和密码的用户如何访问 版本库
auth-access = write
通过验证的用户及有用户名和密码的用户如何访问版本库
那么可选的值有三个:none,read,write
none表示什么都干不了,read允许更新代码,write允许提交代码
password-db = passwd
是用来制定用户的用户名以及密码配置的文件路径
authz-db = authz
用来制定权限分组配置文件的路径
passwd 详解
当前版本库的用户名和密码
authz 详解
用户和用户组权限
启动SVN
# svnserve -d -r /svn/mysvn/
查看SVN进程
# ps -ef|grep svn|grep -v grep root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /svn/mysvn
检测SVN端口
# netstat -ln |grep 3690 tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
停止重启SVN
# killall svnserve //停止 # svnserve -d -r /opt/svn/repositories // 启动
连接svn
上传之后的文件存储在:
更多推荐
所有评论(0)