2020年7月6日

为什么需要版本控制?

  • 需要清晰地保存某些文件的不同修订版本
  • 控制文件的发屐过程,找出导致 BUG 的原因
  • 轻松将项目或文件恢复到指定版本
  • 极大方便团队之间协同开发,防止出现混乱
  • 在工作中,时刻谨记“数据无价,再怎么备份也不足为过

SVN简介

SVN全称SubVersion,他属于C/S结构软件,SVN是一个自由与开源的版本控制系统。操作简单,入门容易、支持跨平台操作。它采用了分支管理系统。

服务端软件:VisuaISVN

客户端软件:Tortoisesvn

特点:

  • 操作简单,入门容易
  • 支持跨平台
  • 支持版本回退

作用:

  • 协作开发
  • 远程开发
  • 版本回退

svn的使用

安装svn,汉化后需要重启。

新建一个文件夹。svn介绍,然后此文件夹中新建一个文件夹svn版本库

右键,在此创建版本库。(这个就是我们的代码库)

  1. 选中程序员A,然后检出,版本库地址选版本库,然后检出到程序员A

  2. 然后程序员A新建了一个程序员1。

  3. 然后程序员B检出版本库。这样程序员B就有了程序员A的代码。

  4. 然后程序员B提交了自己修改后的代码。

  5. 然后程序员A进行svn更新。此时,就是程序员B修改后的代码。

  6. 然后程序员C进行检出版本库,那么此时就是B修改后的代码。

  7. 程序员C新建了一个程序员3.txt文件、

  8. 右键,然后提交svn。

  9. 接下来。程序员A或者程序员B直接更新,就可以获取到程序员3.txt

  10. 新建一个程序D,然后,检出。这样我们就有的了版本库中最新的代码。

  • 添加文件:找到随便一个受svn控制的文件夹,在里面放你的文件,然后在这个受控制的文件上右键,提交即可实现。

  • 删除文件:右键选择文件,点击删除(是svn里面的删除按钮),然后必须返回上级文件夹右键提交。

  • 重命名:右键,选择svn里面的重命名,然后返回到上级目录后,进行svn提交。提交后,其他的文件就可以更新到最新的了。

  • 移动:右键找到svn的"版本库浏览器",随意拖拽文件的位置即可实现文件的移动效果。(注意:如果是在服务器的版本库浏览器设置,直接可以实现一个默认的提交,如果不是在服务器的版本浏览器设置,就必须回到上级目录点击提交才可以)

  • 获取历史版本:更新至版本,右键——更新至版本——显示日志——找到想要的版本。点击确定即可。

svn的几个操作说明:

1、Check out(检出):从服务器端取得代码

把服务器资料库里存放的某个项目代码取出来,放到本地主机中,这个动作叫做“check out”。使用具体步骤:进入要安装项目文件的目录中,点击鼠标右键,选择SVN Check out项,然后填写项目的原始路径和安装路径后点击“ok”即可。

2、Update(更新):更新项目代码

以前checkout过的一个项目代码,当服务器上有了更新的代码,或者本地代码损坏或丢失,update可以自动判断本地哪些文件较旧,或者缺少,都会自 动更新。当然,你也可以删除掉本地代码,重新check out。使用具体步骤为:在要更新的项目上点击鼠标右键,选择“SVN Update”项即可。

3、Commit(提交):将本地代码上传到服务器

当修改(增加,删除,修改等所有写操作)过本地代码后,这个动做会把新代码提交到SVN。如果本地代码做了修改,不执行commit操作,SVN服务器上是 不会有这个新版本的,也就是说其它人也得不到。对代码做过修改后,应尽快commit。使用具体步骤:在修改完待上传的项目上点击鼠标右键,选择 “SVN Commit”项即可。

版本冲突如何解决

原因:多个用户对同一个仓库进行了更改。这样就存在冲突了。

解决方案:右键,编辑冲突。然后保存,然后标记一下,解决冲突。这样就可以了。

在开发冲突的时候,我们尽量避免解决冲突。最好每次先更新,然后提交。

SVN的基本使用的更多相关文章

  1. svn 常用命令总结

    svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...

  2. svn常用命令

    1.新建版本库 [root@localhost repos]# mkdir -p project [root@localhost repos]# svnadmin create project [ro ...

  3. 对Maven、gradle、svn、spring 3.0 fragment、git的想法

    1.Maven Maven可以构建项目,采用pom方式配置主项目和其他需要引用的项目.同时可结合spring3.0的新特性web  fragment. 从现实出发,特别是对于管理不到位,程序员整体素质 ...

  4. 电脑新建svn仓库

    步骤1:安转svg: 注意事项: 安装的时候选择:Modify 安装到以下图片的步骤时: 黄色区域选择: 步骤2:新建svn仓库文件夹(本教程例子:D:\svn-5gpos),选择文件夹右键,点击下图 ...

  5. 项目持续集成环境(jenkins + SVN + maven + tomcat)

    整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...

  6. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...

  7. ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)

    主要更新: 1:增加子目录部署支持. 2:增加Taurus.MVC支持. 3:优化及Bug修复. 1:增加子目录部署支持: 其实在重写Aries框架的时候,我是去掉了目录部署功能的,主要是为了加快Ar ...

  8. [开源]QuickSwitchSVNClient,快速完成SVN Switch的工具

    在实际的开发中,我们一般使用SVN工具进行源代码的管理.在实际的产品开发中,根据项目的一些定制要求,往往需要对某一些代码的修改,但是又不想影响主要的开发,这个时候需要对当前的主分支做一些分支处理(br ...

  9. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  10. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)

    前言     但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...

随机推荐

  1. 修改ElementUI样式的几种方式

    ElementUI是一款非常强大的前端UI组件库,它默认定义了很多美观的样式,但是我们在实际开发过程中不可避免地遇到需要修改ElementUI默认样式.下面总结了几种修改默认样式的方法. 1. 新建全 ...

  2. Mysql的复制原理以及流程

    MySQL复制概述 简单来说就是保证主服务器(Master)和从服务器(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟),通过 ...

  3. Python 正则表达式简单了解

    match 从字符串的开始匹配  如果开头不符合要求  就会报错 search  用字符串里的每一个元素  去匹配找的元素 1.匹配单个字符 \d 数字 \D 非数字 . 匹配任意字符 除了\n [] ...

  4. springboot(二)配置SpringBoot支持自动装载Servlet

    Servlet详解:https://blog.csdn.net/yanmiao0715/article/details/79949911 Web 技术成为当今主流的互联网 Web 应用技术之一,而 S ...

  5. GridMask:一种数据增强方法

    GridMask Data Augmentation, ARXIV 2020 代码地址:https://github.com/akuxcw/GridMask 这篇论文提出了一种简单的数据增强方法,在图 ...

  6. Alink漫谈(十四) :多层感知机 之 总体架构

    Alink漫谈(十四) :多层感知机 之 总体架构 目录 Alink漫谈(十四) :多层感知机 之 总体架构 0x00 摘要 0x01 背景概念 1.1 前馈神经网络 1.2 反向传播 1.3 代价函 ...

  7. Spring集成Quartz定时任务

    1.导入jar包 2.配置applicationContext.xml文件 <!-- 任务调度1 --> <!-- bean id="simpleJob" cla ...

  8. PHP decbin() 函数

    实例 把十进制转换为二进制: <?phpecho decbin("3") . "<br>";echo decbin("1" ...

  9. 4.22 省选模拟赛 三元组 manacher 回文自动机

    容易发现可以枚举j 那么只需要计算出 l~j这段是回文串的l的和 以及j+1~r这段是回文串的r的和. 可以manacher 之后想要求出以j为右端点的回文串左端点的和 这个东西我们通过某个点为中心的 ...

  10. java.lang.ClassNotFoundException: org.apache.tomcat.util.security.Escape

    tomcat-embed-jasper 依赖中不要有版本号 技术交流群: 816227112