SVN入门教程,超简单,30分钟学会!
文章目录1. 什么是SVN?版本控制:常用的版本控制工具:SVN的优势2. 搭建VisualSVN Server服务器3. SVN服务器创建仓库与用户3.1 创建仓库3.2 SVN标准目录结构3.3 创建用户3.4 修改仓库权限4. 安装TortoiseSVN客户端5. 使用Checkout检出仓库代码6. 添加文件、修改文件6.1 添加文件6.2 查看日志6.3 修改文件7. 版本回滚8. 删除
文章目录
1. 什么是SVN?
版本控制:
它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节!
Subversion(简称SVN)是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。
常用的版本控制工具:
SVN的优势
统一的版本号
Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件,版本号相同的文件构成软件的一个版本。
原子提交
一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
多级管理系统
超级管理员:对所有配置库具有完全权限。
目录管理员:目录管理员可对指定的目录/SVN库进行权限管理。
普通用户:可以查看用户名、查看权限设置、修改自己密码。
一致的数据操作
Subversion用一个二进制差异算法描述文件的变化,对于文本(可读)和二进制(不可读)文件其操作方式是一致的。这两种类型的文件压缩存储在版本库中,而差异信息则在网络上双向传递。
简单、易操作
SVN对中文支持好,操作简单,使用没有难度,使用界面统一,功能完善,操作方便。
2. 搭建VisualSVN Server服务器
集中式代码管理的核心是SVN服务器:
SVN服务端:Subversion和VisualSVN Server
因为如果直接使用Subversion,那么在Windows系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式htp协议访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?
而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻烦。
下载地址:
https://www.visualsvn.com/server/
安装图解:
- 下载
- 双击安装:
- 设置仓库地址、端口
- 安装完成
3. SVN服务器创建仓库与用户
- VisualSVN Server Manager 主界面
3.1 创建仓库
-
这里选择仓库类型
- 类型1:空仓库
- 类型2:主分支-分支-标签
-
访问权限设置
- 创建完成
3.2 SVN标准目录结构
- trunk是主分支,是日常开发进行的地方。
- branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。
- tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。
3.3 创建用户
创建user1、user2两个用户
- 创建user1(密码
123456
)
- 创建user2(密码
123456
)
- 重设密码
3.4 修改仓库权限
- 右键仓库,属性
4. 安装TortoiseSVN客户端
TortoiseSVN是Subversion版本控制系统的一个优秀的免费开源客户端。
官方网址: Home · TortoiseSVN
下载地址:
安装图解:
一路next:
安装成功后、右键单击、可出现SVN菜单:
汉化:
5. 使用Checkout检出仓库代码
查看仓库地址:
右键 -> SVN Checkout…
查看本机IP:
检出rep1仓库:
接受证书:
输入用户名和密码,并保存认证:
成功检出到本地:
6. 添加文件、修改文件
6.1 添加文件
在rep1文件夹下新建1.txt并保存
右键 -> 增加 :将文件加入版本管理
增加成功后,文件上面多了一个 + 号
右键 -> 提交,写上备注
提交成功后,文件上多了一个 “✓” 号
6.2 查看日志
TortoiseSVN -> 显示日志
可以看到新增日志:
服务器上可以看到文件:
在新的地方更新目录:
6.3 修改文件
修改文件并保存,文件图标变为红色感叹号
提交修改:
填写备注:
提交完成:
查看日志
双击日志,可以显示出和上个版本的区别:
去查看另一个仓库,发现没有更新
更新:
打开,发现已经同步:
7. 版本回滚
在rep1文件夹下打开1.txt,修改如下,此刻文件出现“!”号
如果你没有提交,那么直接删除此文件,然后 更新 即可, 发现文件回复了,并且为“✓”号。
如果你已经提交了,且有日志记录
那么就使用回滚
1.查看版本 2.选择版本 3.确定
注意:再次更新,会恢复到最新,提交的记录无法删除!!!
这样才能表示历史记录可追溯:
8. 删除文件
新建2.txt,并提交
TortoiseSVN -> 删除,此时文件会消失
提交删除:
9. 解决冲突
9.1 产生冲突的情况?
当开发人员A和开发人员B从版本库同时检出文档1.txt,而A和B同事修改了1.txt的同一个地方,先提交的不会有任何问题,后提交的一方会在提交的时候产生冲突。
A修改并提交:
B 修改并提交:
冲突会导致提交失败,并自动返回:
9.2 解决冲突
产生冲突的目录编程这样了,文件出现黄色的感叹号:
右键 -> TortoiseSVN -> 编辑冲突
先删除掉问号:
拷贝到合并后的文件:
保存:
黄色的感叹号消失:
文件修改已经合并:
重新提交:
10. 创建分支
什么是分支?
在版本控制的系统中,我们经常需要对开发周期中的单独生命线作单独的修改,这条单独的开发生命线就可以称为Branches即分支。分支经常用于添加新的功能以及产品发布后的bug修复等,这样可以不影响主要的产品开发线以及避免编译错误等。当我们添加的新功能完成后可以将其合并到主干中。
10.1 创建分支
TortoiseSVN -> 分支/标记
创建分支:
- 1.源路径
- 2.分支路径
- 3.备注
- 4.版本
创建成功:
服务器上也出现了:
在分支中添加文件:
10.2 合并分支
TortoiseSVN -> 合并
选择合并源:
合并完成:
文件被合并到了trunk中
提交分支点合并到主分支
查看日志:
GO GO GO~
感谢大家,关注点一波~
更多推荐
所有评论(0)