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:
(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