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. 删除文件
- 9. 解决冲突
- 9.1 产生冲突的情况?
- 9.2 解决冲突
- 10. 创建分支
- 10.1 创建分支
- 10.2 合并分支
- GO GO GO~
- 感谢大家,关注点一波~
1. 什么是SVN?
版本控制:
它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节!
Subversion(简称SVN)是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。
常用的版本控制工具:
http://subversion.apache.org/
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
下载地址:
Downloads · 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~
感谢大家,关注点一波~
SVN入门教程,超简单,30分钟学会!相关推荐
- 【前端实例代码】Html5+css3创建新拟态新拟物风格(Neumorphism)音乐播放器+注册登录页表单图标网页效果~前端开发网页设计基础入门教程~超简单~
b站视频演示效果: [前端实例代码]Html5+css3创建新拟态新拟物风格(Neumorphism)音乐播放器+注册登录页表单图标网页效果!前端开发网页设计基础入门教程!超简单~ 效果图: 完整代码 ...
- 40天python入门教程_Python入门教程超详细1小时学会Python
Java 和 Javascript, 不 用 1 小时你就可以用 Python 快速流畅地写有用的 Python 程序 . 为什么使用 Python 假设我们有这么一项任务 : 简单测试局域网中的电脑 ...
- python程序-30分钟学会用Python编写简单程序
原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...
- python写软件实例-30分钟学会用Python编写简单程序
原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...
- 30 分钟学会 Flex 布局
30 分钟学会 Flex 布局 关注公众号 风色年代(itfantasycc) 更多好玩的前端资料等你拿~~ 林东洲 30 分钟学会 Flex 布局 - 知乎 (zhihu.com) 为什么我要写这一 ...
- Pyechart:30分钟学会pyecharts数据可视化
30分钟学会pyecharts数据可视化 小红:你先跟我说说什么是pyecharts吧. 小明:Echarts 是一个由百度开源的数据可视化javascript库,凭借着良好的交互性,精巧的图表设计, ...
- 视频教程-通俗易懂的SVN入门教程(含配套资料)-Java
通俗易懂的SVN入门教程(含配套资料) 张长志技术全才.擅长领域:区块链.大数据.Java等.10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业.拥有丰 ...
- 30分钟学会EventBus3 0详解(二)(EventBus3 0的详细使用)(by星空武哥)
转载声明原创地址:http://blog.csdn.net/lsyz0021/article/details/52094855 30分钟学会EventBus3.0详解(一)(引入和初始化EventBu ...
- 30分钟学会专利提案
30分钟学会专利提案 预期效果 引起重视 掌握套路 激发灵感 分享内容 6个问题 1.专利.发明专利.交底书.申请书? 专利分为发明.实用新型和外观设计三种类型 授予发明专利应当具备三性:新颖性.创造 ...
- 如何使用录音转文字助手?免费教程来袭!两分钟学会!
如何使用录音转文字助手?免费教程来袭!两分钟学会! 目前使用手机用户正在飞速的增长,手机越来越能够方便我们的日常生活,对于手机上的语音助手功能,我想大家应该也是一直在使用的,并且有的手机还带有语音翻译 ...
最新文章
- 互联网产品mysql数据库设计总结
- 生物信息学 生物科学、农学、林学、医学
- Android Retrofit实现原理分析
- 台式电脑键盘f1是计算机怎么取消,开机F1怎么取消,教您开机F1怎么取消
- centos7 hadoop 2.8安装
- 做一辆超mini平衡自行车,全开源!
- redis位图法统计活跃用户+统计3天的连续登录用户案例
- 08-spring学习-annotation配置
- 大数据之-Hadoop之HDFS的API操作_文件上传---大数据之hadoop工作笔记0056
- 持续集成部署Jenkins工作笔记0014---curl命令触发构建
- 实操Tiktok一个月告诉你,10万粉丝轻松拿下?
- CentOS7 下安装telnet服务
- 如何让同局域网的同事访问我电脑上的PHP网站和数据库
- 《MongoDB实战系列》系列文章导读
- Java单链表基本操作
- ftp上传当天文件的方法_8uftp上传工具,8uftp上传工具的使用方法只需8步
- 质谱借力ICL平台,静待LDT制度打开更大空间
- 论文出图-Matlab导入txt文件数据并绘图
- Android调用C++实现共享内存(Native层)
- Xposed模块开发教程整理