学习完Git后我们对于代码管理工具都有一定的理解,我们现在来学习一种新的工具——SVN。

SVN相比于Git的优势是有目录级权限控制,更能保证企业安全。SVN是集中式代码版本管理工具。

创建仓库

创建仓库1

创建仓库2

创建仓库3

检出

SVN 集中式版本控制里,第一次把远程服务器仓库的项目完整下载到本地电脑,生成可编辑的「工作副本」 的操作,是使用 SVN 的第一步。这个操作就叫检出。

检出-复制仓库地址

进入工作区文件夹:

检出1

检出2

接下来会让你输入SVN的用户名及密码用于身份认证。

检出3

确认后等待,如果文件夹出现绿色小勾证明检出完成,如果没有需要刷新或者重启电脑。

检出4

提交

新增文件

提交1

提交2

更新后提交

要提交之前,要先进行Update更新,避免冲突

提交3

修改好后再提交

提交4

提交4

查看提交日志

提交5

提交6

撤销和恢复

撤销本地修改

撤销1

撤销已提交内容

打开提交目录

撤销2

这一步只是把本地撤销到以前的版本,还需要提交一下:

撤销3

恢复到指定版本

打开提交目录

撤销4

这一步只是把本地撤销到以前的版本,还需要提交一下:

撤销5

添加忽略

点击具体需要忽略的文件或文件夹,把它添加到忽略列表

忽略

也可以反向操作把它移出忽略列表。

解决冲突

产生冲突会有两种情况。其一是多个人对同一个文件的同一行做出了修改,这种情况的避免方法是经常Update同步一下他人的代码;另一种情况是,修改了无法进行合并的二进制文件,当要修改时需要提前告诉其他人不要一起修改这个文件。

如果冲突还是发生了,可以这样解决:

当提交有冲突的文件时,会自动生成3个新的文件。

解决冲突1

右键查看解决冲突的方式:

解决冲突2

最稳妥的方式是编辑冲突:

解决冲突3

像这样有一行红色的问号就是需要解决冲突的地方,选择正确的文本块并在此右键:

解决冲突4

变成绿色就是已经解决冲突了,需要标记为已解决。

解决冲突5

二进制文件有冲突也是相同的解决方案。

分支

当我们需隔离线上版本和开发版本时或者大功能开发不想影响到其他人时需要单独开一个分支。

SVN经典目录结构:

  • trunk 主干:开发中的文件
  • branches 分支
  • tag 标签

我们可以在创建项目时创建经典目录结构或是之后手动创建,像这样:

分支1

创建新的分支

点击trunk文件夹,在它下面创建新的分支:

分支2

分支2

然后需要将新创建的分支检出供你在本地操作:

右键新创建的分支,进入属性,复制它的URL:

分支3

分支4

合并分支

可以把分支的内容合并到trunk上

分支5

切换分支

分支6

分支7

代码暂存

当代码改了很多,不过突然需要紧急修复一个bug,但是代码还没写完,不能提交;或者是当代码重构了很多,突然需要发布新版本,但是代码还跑不起来,不能提交。这个时候需要把代码暂存起来。等工作完成后,再恢复它。

暂存1

暂存2

然后就可以进行bug修复等操作,修复完成后再取出暂存:

暂存3