SVN如果你是程序员的话,你一定熟的不能再熟,及时你不用但是肯定知道,如果不知道你可能是外星来的!
SVN的全称是Subversion是一个开源的版本控制系统,管理随时间改变的数据。简单地说SVN的作用在于可以将你随时改变的代码,标记上版本号,然后依次存放起来,有没有听起来挺熟的——NAS!只是SVN存储的是代码,而NAS存放的是文件!
SVN服务支持svnserve和http访问模式,本教程主要讲解SVNserve的部署方法。
SVN简介
SVN管理的数据存放在中央资料档案库(Repository)中。该档案库会记录文件的每一次变动,这样您就可以把数据恢复至旧版本, 或浏览文件的变动历史。SVN中常用的概念和操作如下:
- Repository(源代码库):源代码统一存放的地方。
- Checkout(提取):该操作用于从repository中提取一份源代码到本地。
- Commit(提交):该操作用于将修改代码后的代码提交到repository。
- Update(更新):该操作用于同步本地源代码与Repository中的源代码。
使用SVN管理代码的常见流程为:
Checkout(您提取源代码到本地)->其他人修改并提交源代码到Repository->Update(您获得最新的代码)—> 您修改并调试成功源代码 —> Commit(提交修改后的代码到Repository库,其他程序员即可看到您的修改)。
注意:SVN管理源代码的单位为行。如果您与其他程序员同时修改了一个文件中的代码:
若修改的代码在不同行,SVN会自动合并两种修改。
若修改的代码在同一行,SVN会提示文件冲突(Conflict),需要手动确认。
搭建SVN服务器
安装环境:Centos 7
坑一:安装Centos 7 系统时,注意需要手动打开网卡,连接网络后,手动指定时区!
1.安装subversion
yum install subversion
这个没啥说的,直接安装就可以。
2.安装完后查看SVN版本,检查安装是否正确。
svnserve --version
3.创建版本库根目录。
mkdir /home/svn
这个文件位置看自己情况,想放置在哪里!
4.在版本库根目录创建项目版本库
cd /home/svn #跳转版本库根目录
svnadmin create /home/svn/project
在使用svnadmin的同时,在project文件夹地下会自动创建,版本库系统文件。
5.查看版本库系统文件
cd project #跳转到项目版本库的目录
ls -ll #查看目录文件
Subversion目录说明
6.进入conf文件夹,主要的配置文件都在里面。
authz 认证权限的配置
passwd 用户密码的配置
svnserve 服务器相关配置
7.配置passed文件,增加使用用户
vim passed
在文件里面添加使用用户, 添加账号和密码的格式为:账号=密码。需要多位用户,往下面增加就可以。
8.配置authz文件,配置权限!
admin = dpyouling #创建admin用户组,用户dpyouling属于admin组。
dpyouling = rw #赋予dpyouling用户,读和写的权利。
[/] # 根域里定义权限
@admin=rw #赋予admin用户组读写权利
*=r #赋予所有用户读取的权利
坑二:根域([/]需要自己添加)里定义权限,如果没添加,后期登陆会一直提示登陆失败
9.配置svnserve.conf,SVN服务配置文件。
anon-access = none #控制非鉴权用户访问版本库的权限
auth-access = write #控制鉴权用户访问版本库的权限
password-db = passwd #指定用户名口令文件名
authz-db = authz #指定权限配置文件名
realm = /home/svn #指定版本库的认证域,即在登录时提示的认证域名称
坑三:最后一个realm路径写全就可以了。
10.启动SVN版本库
svnserve -d -r /home/svn/
11.运行命令ps -ef |grep svn查看SVN服务是否开启。
如果返回结果如下图所示,表示SVN服务已经开启。
如果要停了svn,使用下面命令。
killall svnserve
Windows端登录
在Windows端登录需要使用TortoiseSVN客户端。
1.安装TortoiseSVN。
https://tortoisesvn.net/downloads.html
2.创建本地文件夹,右击SVN commit.
3.建立登录连接,在URL位置填写服务器地址和登陆账户!
4.出现下面画面就说明可以正常使用了!
评论区