SVN服务端:

1. 为什么要使用SVN?

程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本

2.SVN服务器下载

下载地址: Apache Subversion Binary PackagesApache Subversion Binary Packages

(1)进入网址后,滚动到浏览器最底部看到如下截图

TortoiseSVN服务端添加用户_上传

TortoiseSVN服务端添加用户_svn_02

(2)点开上面的VisualSVN 6位连接下载VisualSVN server

TortoiseSVN服务端添加用户_版本库_03

(3)下载完成后双击安装,如下图:

TortoiseSVN服务端添加用户_版本库_04

TortoiseSVN服务端添加用户_服务器_05

TortoiseSVN服务端添加用户_上传_06

TortoiseSVN服务端添加用户_TortoiseSVN服务端添加用户_07

TortoiseSVN服务端添加用户_svn_08

TortoiseSVN服务端添加用户_服务器_09

TortoiseSVN服务端添加用户_服务器_10

TortoiseSVN服务端添加用户_上传_11

进入bin目录将下图的文件发送到桌面快捷方式,方便打开

TortoiseSVN服务端添加用户_服务器_12

(4)创建版本库

TortoiseSVN服务端添加用户_TortoiseSVN服务端添加用户_13

TortoiseSVN服务端添加用户_版本库_14

TortoiseSVN服务端添加用户_版本库_15

TortoiseSVN服务端添加用户_TortoiseSVN服务端添加用户_16

TortoiseSVN服务端添加用户_版本库_17

点击【Finish】即可完成基本创建。

3.需要建立用户和组,并分配权限

(1)创建用户

(2)创建组

(因为公司不会只有一个项目组),这样方便给权限)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tdDckin4-1640567159294)(E:\课程学习资料引用的图片\image-20211225220200148.png)]

(3)组中添加多个人员

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oswPs2eL-1640567159294)(E:\课程学习资料引用的图片\image-20211225220939779.png)]

QingFen组可以添加多个用户

4.给用户组设置权限

(1)在MyRepository上单击右键,选择属性,如图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pDihCEV2-1640567159294)(E:\课程学习资料引用的图片\image-20211225221634551.png)]

(2)在弹出的对话框中,选择Security选项卡,点击Add按钮,进行设置权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BESil3kx-1640567159294)(E:\课程学习资料引用的图片\image-20211225222019192.png)]

具体权限查看设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JFuluwzP-1640567159295)(E:\课程学习资料引用的图片\image-20211225222154258.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-prXzjurU-1640567159295)(E:\课程学习资料引用的图片\image-20211225222218706.png)]

SVN 生命周期

创建版本库

版本库相当于一个集中的空间,用于存放开发者所有的工作成果。版本库不仅能存放文件,还包括了每次修改的历史,即每个文件的变动历史。

Create 操作是用来创建一个新的版本库。

检出

Checkout 操作是用来从版本库创建一个工作副本。工作副本是开发者私人的工作空间,可以进行内容的修改,然后提交到版本库中。

更新

顾名思义,update 操作是用来更新版本库的。这个操作将工作副本与版本库进行同步。由于版本库是由整个团队共用的,当其他人提交了他们的改动之后,你的工作副本就会过期

执行变更

当检出之后,你就可以做很多操作来执行变更。编辑是最常用的操作。你可以编辑已存在的文件,例如进行文件的添加/删除操作。

复查变化

当你检出工作副本或者更新工作副本后,你的工作副本就跟版本库完全同步了。但是当你对工作副本进行一些修改之后,你的工作副本会比版本库要新。在 commit 操作之前复查下你的修改是一个很好的习惯。

修复错误

我们来假设你对工作副本做了许多修改,但是现在你不想要这些修改了,这时候 revert 操作将会帮助你。

解决冲突

合并的时候可能会发生冲突。Merge 操作会自动处理可以安全合并的东西。其它的会被当做冲突。

提交更改

Commit 操作是用来将更改从工作副本到版本库。这个操作会修改版本库的内容,其它开发者可以通过更新他们的工作副本来查看这些修改。