文章目录

  • 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分钟学会!相关推荐

  1. 【前端实例代码】Html5+css3创建新拟态新拟物风格(Neumorphism)音乐播放器+注册登录页表单图标网页效果~前端开发网页设计基础入门教程~超简单~

    b站视频演示效果: [前端实例代码]Html5+css3创建新拟态新拟物风格(Neumorphism)音乐播放器+注册登录页表单图标网页效果!前端开发网页设计基础入门教程!超简单~ 效果图: 完整代码 ...

  2. 40天python入门教程_Python入门教程超详细1小时学会Python

    Java 和 Javascript, 不 用 1 小时你就可以用 Python 快速流畅地写有用的 Python 程序 . 为什么使用 Python 假设我们有这么一项任务 : 简单测试局域网中的电脑 ...

  3. python程序-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

  4. python写软件实例-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

  5. 30 分钟学会 Flex 布局

    30 分钟学会 Flex 布局 关注公众号 风色年代(itfantasycc) 更多好玩的前端资料等你拿~~ 林东洲 30 分钟学会 Flex 布局 - 知乎 (zhihu.com) 为什么我要写这一 ...

  6. Pyechart:30分钟学会pyecharts数据可视化

    30分钟学会pyecharts数据可视化 小红:你先跟我说说什么是pyecharts吧. 小明:Echarts 是一个由百度开源的数据可视化javascript库,凭借着良好的交互性,精巧的图表设计, ...

  7. 视频教程-通俗易懂的SVN入门教程(含配套资料)-Java

    通俗易懂的SVN入门教程(含配套资料) 张长志技术全才.擅长领域:区块链.大数据.Java等.10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业.拥有丰 ...

  8. 30分钟学会EventBus3 0详解(二)(EventBus3 0的详细使用)(by星空武哥)

    转载声明原创地址:http://blog.csdn.net/lsyz0021/article/details/52094855 30分钟学会EventBus3.0详解(一)(引入和初始化EventBu ...

  9. 30分钟学会专利提案

    30分钟学会专利提案 预期效果 引起重视 掌握套路 激发灵感 分享内容 6个问题 1.专利.发明专利.交底书.申请书? 专利分为发明.实用新型和外观设计三种类型 授予发明专利应当具备三性:新颖性.创造 ...

  10. 如何使用录音转文字助手?免费教程来袭!两分钟学会!

    如何使用录音转文字助手?免费教程来袭!两分钟学会! 目前使用手机用户正在飞速的增长,手机越来越能够方便我们的日常生活,对于手机上的语音助手功能,我想大家应该也是一直在使用的,并且有的手机还带有语音翻译 ...

最新文章

  1. 互联网产品mysql数据库设计总结
  2. 生物信息学 生物科学、农学、林学、医学
  3. Android Retrofit实现原理分析
  4. 台式电脑键盘f1是计算机怎么取消,开机F1怎么取消,教您开机F1怎么取消
  5. centos7 hadoop 2.8安装
  6. 做一辆超mini平衡自行车,全开源!
  7. redis位图法统计活跃用户+统计3天的连续登录用户案例
  8. 08-spring学习-annotation配置
  9. 大数据之-Hadoop之HDFS的API操作_文件上传---大数据之hadoop工作笔记0056
  10. 持续集成部署Jenkins工作笔记0014---curl命令触发构建
  11. 实操Tiktok一个月告诉你,10万粉丝轻松拿下?
  12. CentOS7 下安装telnet服务
  13. 如何让同局域网的同事访问我电脑上的PHP网站和数据库
  14. 《MongoDB实战系列》系列文章导读
  15. Java单链表基本操作
  16. ftp上传当天文件的方法_8uftp上传工具,8uftp上传工具的使用方法只需8步
  17. 质谱借力ICL平台,静待LDT制度打开更大空间
  18. 论文出图-Matlab导入txt文件数据并绘图
  19. Android调用C++实现共享内存(Native层)
  20. Xposed模块开发教程整理

热门文章

  1. 【基于物理的渲染(PBR)白皮书】(三) 迪士尼原则的BRDF与BSDF相关总结
  2. 用数据全方位解读《欢乐颂2》
  3. Jcrop实现图片裁剪
  4. 使用组件,一直报错Unknown custom element: <etregister> - did you register the component correctly?
  5. 实例分割新作——Instances as Queries
  6. 平面设计是什么?学会平面设计可以从事什么工作?
  7. iOS 相机开发总结
  8. B75经典门户商业版Discuz模板下载
  9. java 实现小米商城系统
  10. 怎么用一套键鼠控制两个电脑