【svn使用教程】

这篇具有很好参考价值的文章主要介绍了【svn使用教程】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介和安装

一、svn是一个代码版本管理工具,他能记住你每次修改,可以查看每次的修改记录,恢复到任何历史版本,恢复已经删除的文件
二、svn与git相比的优势:

  1. 使用简单,上手快
  2. 目录级权限控制,企业安全必备
  3. 子目录checkout,减少不必要的文件检出

三、主要应用:

  1. 开发人员用来做代码的版本管理
  2. 用来存储一些重要的文件,比如合同,这样你就能看到合同的历史修改记录
  3. 公司内部文件共享,并且能够按照目录划分权限

四、首先你要有个svn仓库,即svn服务端,你才能用svn客户端操作svn仓库,svn仓库推荐使用svn桶svnbucket.com
五、安装svn客户端:window安装TortoiseSVN,iOS安装cornstone
六、在svnbucket.com上面会有svn教程及安装教程(此处不赘述)
七、文件绿勾代表本地文件与服务器端的文件是同步的,红色感叹号表示本地文件做了修改但没有和服务器端同步,需要commit

svn基本操作

一、检出checkout
二、新增add
三、提交commit:提交的时候可以双击文件查看改动的地方
【svn使用教程】
四、更新update
五、查看历史记录
【svn使用教程】
可以查看所有的提交记录
【svn使用教程】
可以双击文件查看提交的文件和原文件之间改动的地方,如果没有原文件,那就是查看提交的文件

在每次提交前进行更新,可以避免冲突

撤销和修复

一、撤销本地修改:假如你在本地对文件进行了修改,并且修改错了,修改后的文件还没有上传到服务器端,如何撤销修改?

  1. 方法一:右键修改了的文件选择【svn还原】
    【svn使用教程】
  2. 方法二:在commit时,右击文件选择【svn还原】
    【svn使用教程】
    二、撤销已提交的内容:假如你对文件进行了修改并上传,后来发现修改错了,如何撤销修改?比如这里我将原来的100%改为1000%,450px改为4500px,注意⚠️1000%和4500px都是错误的修改
    【svn使用教程】
    然后将此修改commit,如何撤销此修改?
    方法:查看历史记录(操作见上一节),右击修改错了的那个版本,选择【复原此版本作出的修改】
    【svn使用教程】
    根据提示选择【还原】,复原后你修改了的那个文件在本地就会显示一个红色的感叹号,
    【svn使用教程】
    表示该文件被修改了(从错误的内容还原成了正确的内容),通过查看日志我们发现由1000%和4500px变回了100%和450px
    【svn使用教程】

所以我们还需要commit一下
三、恢复到指定版本:查看历史记录(操作见上一节),右击修改错了的那个版本,选择【复原到此版本】
【svn使用教程】
根据提示选择【还原】,复原后你修改了的那个文件在本地就会显示一个红色的感叹号,表示该文件被修改了(从错误的内容还原成了正确的内容),所以我们还需要commit一下

添加忽略

一、假如我想忽略image文件夹中的内容,右击该文件夹,选择【去除版本控制并增加到忽略列表】,选择images,
【svn使用教程】
然后image文件夹上会出现一个红色的叉❌,表示该文件夹已被忽略
【svn使用教程】
我们再提交时,会发现images中的内容都被删除了
【svn使用教程】
update、commit一下,❌消失
【svn使用教程】
二、如果想要忽略一个文件,操作也一样,右击该文件,选择【添加到忽略列表】,选择想忽略的文件,这里是【添加到忽略列表】而不是【去除版本控制并增加到忽略列表】,是因为该文件还没有被svn管理,即还没有commit到服务端
【svn使用教程】
因为我们忽略了这个文件,所以需要commit一下,告诉服务端我忽略了一个文件
三、如果想不再忽略,可以右击选择【加入】
【svn使用教程】
或者选择【从忽略列表删除】
【svn使用教程】
四、如果你想忽略一个已经提交了的文件或文件夹,那么你可以忽略他,再提交,svn会在服务端删除你忽略的内容

个人思考:svn其实每次都是以你最新提交的内容为准,每次提交都好像是一次覆盖?(不知道是不是这样的)

解决冲突

一、什么情况容易发生冲突

  1. 多个人修改了【同一个文件的同一行】
  2. 无法进行合并的二进制文件

二、怎么避免冲突

  1. 经常update同步他人的代码
  2. 二进制文件不要多个人同时操作

三、如何解决:多个人修改了【同一个文件的同一行】引发的冲突
产生冲突后会自动生成几个文件:App.vue.mine是我修改的文档,App.vue.r7是版本7的文档,App.vue.r9是版本9的文档

  1. 方法一:右击冲突,选择【使用他们的文本解决冲突】,直接把我的丢弃,使用他们的作为正确的文本;选择【使用我的解决有冲突的文件】表示使用我的作为正确的文本,把他们的丢弃掉。
    【svn使用教程】
  2. 方法二:右击冲突,选择【编辑冲突】,就会来到下面这个文档中,左边是别人的文档,右边是我的文档,下面标红的地方是冲突位置,svn不知道那一行应该是什么文档
    【svn使用教程】
    我们经过对比后发现左边别人的文档是正确的,所以右击正确的那一行,选择【使用此文本块】
    【svn使用教程】
    选择了之后,下面的文档就没有红色了,点击标记为已解决,
    【svn使用教程】
    然后跳回到之前的界面,点击确定,解决冲突
    【svn使用教程】
    四、如何解决:无法进行合并的二进制文件引发的冲突
  3. 方法一:右击冲突,选择【使用他们的文本解决冲突】,直接把我的丢弃,使用他们的作为正确的文本;选择【使用我的解决有冲突的文件】表示使用我的作为正确的文本,把他们的丢弃掉。
    【svn使用教程】
  4. 方法二:右击冲突选择【编辑冲突】
    【svn使用教程】
    来到下面的界面,左边是你本地的(这个本地的是你想要用来覆盖之前的),中间是上一个版本的,右边是远程别人修改的,在这里选择你想要哪一个
    【svn使用教程】
    然后点击【选择】,点击【确定】解决冲突

分支

一、什么时候需要开分支:

  1. 隔离线上版本和开发版本
  2. 大功能开发,不想影响到其他人,自己独立开个分支去开发,等我们开发完了之后再合并过去

二、svn经典目录结构:

  1. trunk:主要用来存放你开发中的文件,平常我们都在trunk上开发,开发完成之后,到一个版本,我们就开一个分支出去,存储到branches中
  2. branches:
  3. tags

三、如何开分支
有一天我们在trunk上的开发已经完成了,可以上线了,我们可以开一个线上版本。首先将整个仓库checkout下来,右击trunk,选择【分支/标记】
【svn使用教程】
会跳转到下面这个窗口,选择要保存的路径地址为branches/存放该版本代码的文件夹名称,其中branches表示分支文件夹,此处onlinev1.0为存放该版本代码的文件夹,选择版本库中的最新版本,点击确定,就创建完分支了,在本地update一下就可以看到branches文件夹中的分支了。
【svn使用教程】
如果我们把分支branches/onlinev1.0、trunk单独checkout出来,以后我在trunk中修改代码并commit,不会影响onlinev1.0中的代码,这样我们可以把分支中的代码作为线上版本,只对其做线上问题的修复,但是修复了onlinev1.0中的代码,怎么同步到trunk呢?右击onlinev1.0,选择【显示日志】
【svn使用教程】
会来到下面这个窗口,选中你要合并的提交记录(支持多选),然后右击,选择【合并版本到】,
【svn使用教程】
会出现下面的界面,选择你要合并的文件夹
【svn使用教程】
三、切换分支,现在我们新开了一个分支onlinev2.0(步骤如前,不再赘述),不用将它checkout出来,可以直接在onlinev1.0上切换分支,右击onlinev1.0选择【切换】
【svn使用教程】
会出现下面的界面,在路径中通过下拉选择或者…选择你要切换到的那个分支
【svn使用教程】
切换成功后,本地onlinev1.0这个文件夹名是不会变的,里面的代码变成了onlinev2.0的

代码暂存

一、暂存的作用:

  1. 代码改了很多,突然需要紧急修复一个bug,但是代码还没写完,不能提交
  2. 代码重构了很多,突然需要发布新版本,但是代码还跑不起来,不能提交

以上两种情况,我们可以把代码暂存起来,等工作完成再恢复之前写的代码。
二、如何暂存:App.vue和main.js里面有我们写了一部分的代码,右击文档空白处,选择【shelve】
【svn使用教程】
会出现下面的窗口,在path中勾选要暂存的文件,下面那个框中写暂存的这批文件的名字,此处命名为feature1,log message是日志信息,shelve按钮代表暂存代码后会把本地修改的代码撤销掉,checkpoint按钮代表暂存代码后本地的修改还会保留
【svn使用教程】
点击checkpoint按钮后发现,本地修改的代码并没有被撤销
【svn使用教程】
点击shelve按钮后发现,本地修改的代码被撤销了
【svn使用教程】
恢复暂存的代码:右击空白处选择【unshelve】
【svn使用教程】
会出现下面的窗口,在name下拉框中选择你想要恢复的暂存代码的名字,version下拉框中选择你想要修复哪个版本的暂存代码,
【svn使用教程】
点击apply即可恢复暂存的代码【svn使用教程】

复杂代码合并

代码比较简单时,可以使用前面说的合并来合并代码,但是如果我们在trunk开发新功能,改了很多代码,分支是线上版本,修复了很多bug,两个分支的代码时间久了差异很大,无法直接分支合并或者指定提交记录合并代码,此时可以使用beyondcompare。文章来源地址https://www.toymoban.com/news/detail-463555.html

到了这里,关于【svn使用教程】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【spring authorization server系列教程】(一)入门系列,spring authorization server简介。快速构建一个授权服务器(基于最新版本0.3.0)

    【spring authorization server系列教程】(一)入门系列,快速构建一个授权服务器 spring authorization server是spring团队最新的认证授权服务器,之前的oauth2后面会逐步弃用。不过到现在发文的时候,我看到官网已经把之前oauth2仓库废弃了。 现在spring authorization server已经到生产就绪阶段了

    2024年02月05日
    浏览(53)
  • 安装配置SVN版本控制管理工具

    SVN工具能帮我们做什么? 核心功能:文档版本管理系统 适合对象:个人与团队都可以使用,企业中项目资源的重要管理工具 举例:一个文件夹里面的文档管理 1.下载安装SVN服务器 VisualSVN-Server 2.下载安装SVN客户端 TortoiseSVN (一)安装SVN服务器 VisualSVN-Server            (二

    2023年04月23日
    浏览(37)
  • 如何使用SVN查看旧版本

    和目录 第一步:打开SVN客户端 第二步:浏览历史版本 第三步:还原历史版本 结论  Subversion (缩写为SVN)是一种常用的版本控制系统,它可以帮助团队协作开发软件项目。除了基本的版本控制功能外,SVN还提供了许多其他功能,其中一个重要的功能就是可以查看历史版本,以

    2024年01月18日
    浏览(52)
  • idea2023版本下载安装配置与卸载详细步骤(包含运行第一个java程序教程)

    目录 前言必读 一、下载idea 先下载JDK  1.去浏览器搜索idea官网,找到官网  2.选择Download 3.点击左边的Download下载就好了 4.在本地磁盘建一个文件夹,专门用来存放idea软件的 二、安装idea  5.在本地磁盘中的下载里面找到下载的idea并双击打开 6.选择Next ​编辑 7.选择要安装的文

    2024年02月08日
    浏览(96)
  • idea2022版本下载安装配置与卸载详细步骤(包含运行第一个java程序教程)

    目录 前言必读 一、下载idea 先下载JDK  1.去浏览器搜索idea官网,找到官网  2.选择Download 3.点击左边的Download下载就好了 4.在本地磁盘建一个文件夹,专门用来存放idea软件的 二、安装idea  5.在本地磁盘中的下载里面找到下载的idea并双击打开 6.选择Next ​编辑 7.选择要安装的文

    2023年04月08日
    浏览(62)
  • 使用IntelliJ IDEA配置版本管理(SVN和Git)

    步骤一:安装SVN插件 打开IntelliJ IDEA,点击顶部菜单栏的 \\\"File\\\" - \\\"Settings\\\"。 在弹出的窗口中,选择 \\\"Plugins\\\"。 在搜索框中输入 \\\"SVN\\\",找到 \\\"Subversion Integration\\\" 插件并点击 \\\"Install\\\" 安装。 步骤二:配置SVN 安装完成后,重启IntelliJ IDEA。 打开你的项目,点击顶部菜单栏的 \\\"VCS\\\" - \\\"En

    2024年04月24日
    浏览(41)
  • Visual Studio 2022安装SVN插件教程

    1. 第一步:避免踩坑,超级重要!!!关闭Visual Studio 2022应用程序;(不然插件装不上,一直转圈!) 2.第二步:下载Visual Studio 2022版本对应的SVN插件https://www.visualsvn.com/visualsvn/download/ (注意对应版本 2022版vs对应2022版插件) 3. 第三步:安装VisualSVN-VS2022-8.3.0.vsix,直接运行即

    2024年02月05日
    浏览(57)
  • 【JaveWeb教程】(17) MySQL数据库开发之 MySQL简介、安装、数据类型、SQL通用语法 详细代码示例讲解

    在我们讲解SpringBootWeb基础知识(请求响应案例)的时候,我们讲到在web开发中,为了应用程序职责单一,方便维护,我们一般将web应用程序分为三层,即:Controller、Service、Dao 。 之前我们的案例中,是这样子的请求流程:浏览器发起请求,先请求Controller;Controller接收到请求之

    2024年01月25日
    浏览(63)
  • 多个python版本如何指定python的某一个版本使用pip工具安装

    背景 同时安装了python2.7和python3.7两个版本,那么如果我想将第三方的包安装到指定的python版本写该怎么做呢?(注意了:这里我只查询出来2.7版本,是因为我只配置了版本2.7的环境变量)   解决方法 方法一:使用全路径安装 python2: C:Python27python.exe -m pip install pandas python3: C:

    2024年02月08日
    浏览(50)
  • VS2022 安装教程及第一个C#代码(社区版超详细)

    找到VS下载官网 https://visualstudio.microsoft.com/zh-hans/downloads/ 下载社区版,直接点击下载保存即可 点击Community 下的免费下载,直接下载保存到文件夹中 下载后只有VisualStudioSetup.exe,VisualStudio文件夹是新建的文件夹,准备存放稍后安装的VisualStudio(大家根据自身习惯选择即可)

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包