Java第四十六天,Svn系列,走进Svn Java第四十六天,Svn系列,走进Svn 一、什么是Svn 二、Svn的基本功能 三、Svn的工作模式 四、Svn服务器与客户端的安装 五、使用Svn服务器创建本地仓库 六、使用TortoiseSvn客户端 七、冲突的产生与解决 八、IDEA中使用Svn 九、Svn的目录规范 十、Svn分支与标记

一、什么是Svn

Subversion是一种集中式的版本控制器,它将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,但是它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

二、Svn的基本功能

  • checkout ===> 将服务器的数据下载到本地
  • commit ===> 将本地的数据上传到服务器
  • update ===> 将修改过的数据(以前从服务器下载的数据)更新至服务器

三、Svn的工作模式

1.复制-修改合并方案( 默认模式)

在这种模型里,每个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误

2.锁定-修改-解锁方案

在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改

四、Svn服务器与客户端的安装

svn服务器与客户端的下载地址:点我下载

五、使用Svn服务器创建本地仓库

1.创建本地仓库

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

2.为本地仓库配置可访问用户及其权限

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

3.使用浏览器访问本地仓库

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

六、使用TortoiseSvn客户端

1.下载地址

官网下载地址:点我下载

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

2.上传下载操作

(1)上传数据到本地仓库

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

(2)上传数据到远程仓库(SVN服务器)

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

(3)从服务器下载数据

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记
或者
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

3.永久回滚到历史版本

执行该操作后,比该版本高级的版本将会被清除,并标识该版本为最新版本
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记选择目标版本进行回滚
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

4.临时回滚到历史版本

执行该操作后,只会临时切换回历史版本,可以随时再回到高版本中
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

5.删除远程仓库指定文件

  1. 先在本地删除指定文件
    Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记
  2. 将删除操作提交到服务器
    Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

6.导入导出

  1. check out检出的文件仍处于SVN版本控制中,与版本库保持关联,可以进行Svn Update或者Svn Commit等操作;同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息

  2. export导出的文件脱离SVN版本控制,导出后也无法进行Update和Commit操作,导出文件夹下没有.svn目录

  3. import导入仅仅是把文件导入到svn服务器中,而这个文件本身还只是一个普通的文件,与svn版本库没有关系

七、冲突的产生与解决

1.冲突的产生

无论哪种冲突都是发生在提交远程仓库的时候;无论哪种冲突产生的最底层原因就是克隆非最新的远程仓库的基础上再推送到远程仓库
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

2.冲突的解决

  1. 选中冲突待解决文件,右键解决冲突
    Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记
  2. 手动编辑冲突文件
    Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记
    Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

3.鉴于冲突产生的注意事项

在commit以前尽量先update
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

八、IDEA中使用Svn

1.在IDEA中配置SVN的路径

File | Settings | Version Control | Subversion

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记注意
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

2.给项目启用Svn控制

File | Settings | Version Control

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

3.在IDEA中启用Svn

![启用](https://img-blog.csdnimg.cn/20200827173555903.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lUbGFueXVl,size_16,color_FFFFFF,t_70#pic_center
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记地址获取方式:
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

选择工作目录
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

4.使用IDEA中的SVN功能

(1)基本功能

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

  1. Update Project ===> 更新项目
  2. Commit changes ===> 提交项目上所有变化文件
  3. Compare with the Same Repository Version ===> 当前文件与服务器上该文件通版本的内容进行比较(如果当前编辑的文件没有修改,则是灰色不可点击)
  4. Show history ===> 显示当前文件的历史记录
  5. Revert ===> 还原当前被修改的文件到违背修改的版本状态下

(2)项目拓展功能

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

九、Svn的目录规范

  • Trunk ===> 主干目录,此目录下的文件为基准文件
  • Branches ===> 用于开发的分支目录
  • Tags ===> 用于发布的版本目录

十、Svn分支与标记

1.分支的定义规范

Project name + 日期时间 + 功能点

2.Tags的定义规范

Project name + 版本号(三位数)

3.给项目打分支(或者Tag)

(1)新建标准仓库

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

(2)给项目打分支

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记
Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记

4.合并分支到主干

注意:Tag在技术上也可以合并到主干,但是Tag一般代表一个项目的里程碑,行业规范不合并Tag到主干

(1)首先保证分支(被合并方)是最新的(先 update)

(2)在主干(合并方)这边进行Merge操作

Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记Java第四十六天,Svn系列,走进Svn
Java第四十六天,Svn系列,走进Svn
一、什么是Svn
二、Svn的基本功能
三、Svn的工作模式
四、Svn服务器与客户端的安装
五、使用Svn服务器创建本地仓库
六、使用TortoiseSvn客户端
七、冲突的产生与解决
八、IDEA中使用Svn
九、Svn的目录规范
十、Svn分支与标记