SVN版本控制工具的使用详解

时间:2023-01-18 15:23:12
SVN
1、基本介绍
SVN,即Subversion,是一个*开源的版本控制系统,可以将代码恢复到早期版本,或者检查数据修改的历史,这些数据可以是源代码,也可以是其他类型的文件。
功能:
(1)根据文件修改的次数自动增加版本号以便找回历史文件
(2)防止多人开发时同时修改一类文件导致覆盖或者被删除

常见图标:
(1)对号:版本正常
(2)感叹号:从服务器同步后有修改但是还没有上传到服务器
(3)问号:新建了一个文件但是服务器还不认识他
(4)加号:已经添加到观察名单但是还没上传到服务器
(5)锁:加锁
2、服务器/客户端搭建步骤
服务器端搭建
(1)在E盘新建空文件夹SVN_Server
(2)右击->TortoiseSVN->Create repository here(创建版本库)
(3)进入conf文件夹,打开passwd,加上liupeng = liupeng
(4)打开svnserve.conf,将# password-db = passwd前的空格和#号删除,保存
(5)打开服务,启动dos,输入svnserve.exe -d -r E:\SVN_Server

客户端搭建(可以直接使用下载文件的步骤)
(6)在F盘新建空文件夹SVN_Client
(7)右击-> TortoiseSVN->Repo-Brower
(8)弹出框,输入svn://127.0.0.1,确定
(9)右击->SVN Checkout->OK

SVN上传文件
(10)拷入三个文件1、2、3.txt
(11)右击1.txt-> TortoiseSVN->Add
(12)右击1.txt->SVN Commit…->确定(如果修改了1.txt,再重新执行commit即可)
(11、12步骤可以该为在空白处直接SVN Commit,选择需要提交的文件)

SVN下载文件
(13)在F盘新建空文件夹SVN_Client
(14)右击->SVN Checkout->OK(协议那栏注意不加文件名称)
(15)第二次下载的时候就叫做SVN Update

3、客户端
1、文件删除
(1)删除一个文件
(2)提交 (选择删除的文件)
2、历史版本的找回
(1)右击-> TortoiseSVN->Update to revision…
(2)弹出框选择第二个Revision,写上想要回到的版本号,确定
3、历史版本间差异的对比
(1)client1中down一个文件并且修改提交
(2)client2中同样down这个文件并且修改提交
(3)在回到client1中更新这个文件
(4)选择文件,右击-> TortoiseSVN->Diff with previsious version
3、冲突解决
(1)client1和client2中存在版本号一样的相同文件
(2)同时对其进行更改,client1先提交
(3)client2再提交,会出现问题
(4)此时应该先将client2进行update,生成一堆
(5)右击client2中的冲突文件-> TortoiseSVN->Edit Conflicts-<右击修改
(6)右击client2中的冲突文件-> TortoiseSVN->Resolved->commit
(7)回到client1中更新即可

4、服务器端
1、将启动SVN服务加到自启动中
sc create svnserve binpath= “D:\Program Files\Subversion\bin\svnserve.exe” --service --root E:\SVN_Server

2、取消记住用户名
进入C:\Users\liupeng\AppData\Roaming\Subversion,删除auth文件夹即可


3、权限控制
1、默认情况下匿名用户也可以浏览并且下载服务器端的东西,进入E:\SVN_Server\conf里面,打开svnserve.conf,将anon-access前的空格和#号删除,并且将参数改为none
2、(1)进入E:\SVN_Server\conf\svnserve.conf,将authz-db前的空格和#删除
(2)打开E:\SVN_Server\conf\authz,加入红色部分
[groups]
admin = liupeng
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

[/]
@admin = rw
pbj = rw
* = r