1、什么是svn
SVN = 版本控制 + 备份服务器
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
2、svn的安装
下载Setup-Subversion-1.8.11.msi 服务器端
下载TortoiseSVN-1.9.4.27285-x64-svn-1.9.4.msi 客户端 (64位,32位的请下载32位版本)
然后按提示安装
右击 如下图表示安装成功
3、创建仓库
在文件 下先一个文件 然后运行cmd命令行-->更换路径到bin文件安装位置目录下(输入提示svnadmin不是内部程序时使用) 输入: svnadmin create E:\Subversion\APP\book 创建仓库
仓库创建完成之后的样子
4、启动仓库服务
svnserve -d(独立运行端口) -r (仓库地址)
例如: svnserve -d -r e:/Svnversion/APP/book //启动book仓库服务(运行命令时还是提示不是内部命令请跟换到bin目录下运行)
该svn服务走svn协议 ,端口号是3690
表示仓库服务已经启动,注意不要关闭改窗口,否则服务停止
5、本地代码与仓库取得联系
在项目目录下建立一个文件用于存放代码(可以在电脑里面顺便位置创建)
右键--->SVN Checkout
打开Checkout对话框---->填写主机地址---->ok(链接成功)
本地与指定的仓库链接成功
查看文件是否链接上svn 可以在文件选项里面设置显示隐藏文件 ,就会发现创建的目录中出现一个.svn文件(如果要断开只要删除就行了)
6、给仓促提交一个程序
新建一个文件---->右击该文件选择 Add
然后右击选择SVN Commit
得到如下提示框
首次提交会提示认证失败
我们就需要开启仓库的匿名账号权限
打开svn本地安装配置目录(E:\Subversion\APP\book\conf);如图配置
再次提交 (成功)
本地日志
文件信息
文件颜色标志
7、多个程序员对仓库进行操作
单个文件提交
a.假设再新建个文件,首次新建的文件连接上svn会同步文件,在里面新建文件先右击Checkout连接svn
b.新建一个文件---->右击该文件选择 Add
c.右击选择SVN Commit-->ok
d.更新 右键-->Upload
多个文件提交
a.假设再新建个文件,首次新建的文件连接上svn会同步文件,在里面新建文件先右击Checkout连接svn
b.空白处右键右击选择SVN Commit会直接把里面文件所有目录文集你上传
c.更新 右键-->Upload
更新数据(文件就是全部同步到给文件下面)
8、同时运行多个仓库服务
把仓库上级目录当做启动服务连接起来
打开的提示框
9、更新文件到历史某一个版本
选中要更新的文件 右击
打开下图提示框
点击“show log”打开提示框 选择要更新的历史版本勾选上--->ok
就会自动填充你选择的版本号---->ok(更新历史成功)
10、冲突修改
a、修改位置不在同一处的操作:多个人进行开发,第一个人修改的数据提交之后,服务器版本号就会改变,然后第二人提交代码会报错(版本号已过时),则此时第二人需要在本地执行“Upload”操作,让本地文件的版本号跟服务器版本号同步,此操作不会覆盖本地文件,只会进行合并操作,然后第二人再进行“Commit”操作,则第一人就需要执行“Upload”操作同步服务器器版本
b、修改位置在同一处的操作:多人开发修改同一处时,操作跟不同位置修改一样,但是此时问下会产生三个文件:
这三个文件仅供参考,之后需要删除。
最后再进行一次“Upload”操作。
12、账号权限与密码设置
先在安装目录找到配置文件(E:\Subversion\APP\book\conf\svnserve.conf),打开权限(authz)和密码(password)(去掉#)
a、账号设置(E:\Subversion\APP\book\conf);
打开passwd文件,设置
b、设置权限(E:\Subversion\APP\book\conf);
打开authz文件,设置
c、给一个组添加权限
d、开启某个目录的权限
设置账号
配置目录权限
进入vido目录
13、SVN查看工作情况和bug追踪
如何清除缓存 点击clear
设置用户时,需要关闭匿名账号,直接改成none
如图,就能知道是谁上传更新的文件