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. ActiveMQ【CVE-2016-3088】上传公钥实现sssh免密登录

    Apache-ActiveMQ是apache旗下的消息中间件,至今为止还是有较多的甲方爸爸们,还在使用该中间件.据了解,Apache-ActiveMQ中间件有2个厉害的CVE,一个是CVE-2016- ...

  2. findViewByid一定要放在setContentView(R.layout.a..)之后

    findViewByid一定要放在setContentView(R.layout.a..)之后否则还没布局,根本找不到这些控件setContentView(R.layout.activity_inpu ...

  3. 旧的成功的AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="htt ...

  4. Btree索引和Hash索引

    B-Tree 索引 BTree索引是最常用的mysql数据库索引算法,因为它不仅可以被用在=,>,>=,<,<=和between这些比较操作符上,而且还可以用于like操作符, ...

  5. sscanf,sprintf(思修课的收获)

    转载的,就是做个笔记 sprintf函数原型为 int sprintf(char *str, const char *format, ...).作用是格式化字符串,具体功能如下所示: (1)将数字变量 ...

  6. C++中string类型的find 函数

    (去膜拜大佬的博客园,结果被自己菜到自闭) find string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos. 对其返回的下标position ...

  7. LFM oversea投资笔记、思摩尔、移卡、建业新生活、鑫苑物业

    LFM oversea 1.公司简介 2.业务展望 3. 投资策略 LFM oversea介绍 LFM oversea是在开曼成立的投资基金, 专注于中国优质企业在香港和美国IPO过程中的 基石.锚定 ...

  8. Text多行文本框基本用法

    1.Text(root,width,height,bg) 主窗口,宽度,高度,背景色 2.使用 .insert() 方法添加内容 Text 对象.insert(几行.几列,"内容" ...

  9. PHP preg_replace() 函数

    preg_replace 函数执行一个正则表达式的搜索和替换.高佣联盟 www.cgewang.com 语法 mixed preg_replace ( mixed $pattern , mixed $ ...

  10. PHP xml_parser_set_option() 函数

    定义和用法 xml_parser_set_option() 函数为 XML 解析设置选项.高佣联盟 www.cgewang.com 如果成功,该函数则返回 TRUE.如果失败,则返回 FALSE. 语 ...