文章目录

  • 1 SVG简介
    • 1.1 SVN是什么?
    • 1.2 SVN与Git比较
    • 1.3 主要应用
    • 1.4 SVN仓库 (服务端)
    • 1.5 SVN客户端安装
  • 2 TortoiseSVN基本操作
    • 2.1 检出(Checkout)
    • 2.2 新增(Add)
    • 2.3 提交(Commit)
    • 2.4 更新(Update)
    • 2.5 历史记录
  • 3 SVN撤销和恢复
  • 4 忽略
  • 5 冲突
  • 6 分支
  • 7 代码暂存
  • 8 代码合并
  • 9 使用经验

1 SVG简介

1.1 SVN是什么?

SVNSubversion)是一个开放源代码的版本控制系统,常用于多人共同开发同一个项目,实现资源共享和集中式项目管理。它具有能记住我们每次的修改,查看所有的修改记录,恢复到任何历史版本,恢复已经删除的文件等功能。

1.2 SVN与Git比较

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

1.3 主要应用

  • 开发人员用来做代码的版本管理
  • 用来存储一些重要的文件,比如合同
  • 公司内部文件共享,并且能按目录划分权限

1.4 SVN仓库 (服务端)

推荐:SVNBucket,中文名:SVN桶,最好用的SVN服务,它为每个用户提供了100M的免费空间,如果需要更多空间,需要购买。

注册一个SVNBucket账号,牢记该账号和密码。

1.5 SVN客户端安装

Windows:Tortoise SVN

Mac:CornerStone

这里介绍常用Windows版本的SVN客户端Tortoise SVN的安装:

进入Tortoise SVN客户端官网

下载64位最新版本

如果需要汉化,下载简体中文语言包

下载完成后,先安装Tortoise SVN客户端(一路Next),再安装LanguagePack中文汉化包


安装完成后,随便在一个文件中鼠标右键单击,出现SVN检出和TortoiseSVN等字样,说明安装成功。

2 TortoiseSVN基本操作

2.1 检出(Checkout)

这里为方便学习使用,需要一个SVN服务端,用来介绍下面的操作。

先登录SVNBucket,然后点击创建项目:

填写好相关信息,点击创建即可

复制该项目的SVN地址,到一个文件夹中进行检出。


输入用户名和密码,此处为上面SVNBucket注册的用户名和密码,注意这里会提示输入两次,然后点击确定。

检出完成,会有一个绿色带勾标识的文件夹,这就是我们创建的项目,如果没有绿色标识,可以尝试重启一下电脑。这里的绿色标识代表本地的项目和服务器上的已经同步了。

2.2 新增(Add)

这里新建一个test.txt文件,然后:鼠标右键》TortoiseSVN》增加

选择需要增加的文件,点击确定,那么对应的文件会有蓝色加号的标识,代表这个文件已经增加在本地系统中了


2.3 提交(Commit)

在上述文件夹中,鼠标右键点击,选择提交,出现如下界面:

其中信息栏可添加提交信息,例如新增了xx文件,修改了xx文件等,便于后期查看提交记录。

变更列表,列举了当前项目中所有可提交的文件,可按照自己需要勾选,勾选完成后,点击确定,出现如下界面,则提交完成,这时对应的文件,已经到SVN服务器上了。

另外,当对某一些文件修改后,该文件就会有一个红色感叹号,这代表这个文件相较于SVN服务器上的内容发现了变化。此时,再次提交时,会发现变更列表中该文件的状态为修改


2.4 更新(Update)

当该项目的某个成员提交了一些新内容后,可在相应的文件夹中,鼠标右键,选择更新,来获取这些新增内容。

2.5 历史记录

上面我们一共提交了2次**,鼠标右键》TortoiseSVN》显示日志**,会出现如下界面:

可以查看不同版本的提交记录,另外,可以双击该版本的文件,可以对比该文件与上一个版本的不同之处。

这里可能和你的页面有些不同,因为我的SVN导入了第三方对比工具Beyond Compare,这里后面会写一篇博客来讲述如何导入。

3 SVN撤销和恢复

有时候,我们可能对一些文件进行错误了修改,想要还原到修改之前的样子。

1)如果此时还未提交,可点击提交,然后右击需要还原的文件,选择SVN还原

选择还原后,该文件又恢复到了绿色标识,还原成功。

2)如果此时已经提交了,右击需要还原的文件》选择显示日志》选择最新版本》右击该文件》选择复原此版本作出的修改》还原》提交

还原后,该文件会变为红色,此时本地虽然是还原的版本,但SVN服务器上还是错误版本,因此需要再次提交。

3)当我们需要回退到历史版本中的某个版本时,我们可以右击需要回退的版本,选择复原到此版本即可。

4 忽略

当我们提交文件时,会发现提交页面中的变更列表会将所有变更文件显示出来,而我们只需要提交其中部分文件,文件较少时,可以勾选,当文件较多时就不得不使用忽略了。

对于单个不需要提交的文件,可鼠标右击》TortoiseSVN》去除版本控制并增加到忽略列表》选择忽略的文件

如果需要忽略这一类型的文件,可选择有通配符文件选项,例如下图中的*.dll,选择后,以后所有具有.dll后缀的文件都不会出现在提交列表中了。

5 冲突

冲突将单独用一篇博客来进行说明。

6 分支

传统的SVN会有**trunk(主干)、branches(分支)、tag(标签)**三个目录

trunk目录一般是一个项目开发时用来构建代码,branches一般用于项目发布时,创建一个分支到此目录,发布时出现的问题在此目录中进行修改,后可通过代码合并到主干上。

此时新建这三个目录,然后:右击trunk目录》TortoiseSVN》分支/标记》路径选择branches》确定》路径后加上项目名称与版本号》确定

这样就在branches目录中创建了truck目录中test项目的分支testv1.0,创建之初,testtestv1.0并无区别。

7 代码暂存

如果我们正在某一项目中开发新功能,突然有一个紧急bug需要修改,这时我们的代码又编译不过,为了应对这种情况,我们可以使用SVN的暂存功能,将我们当前新修改的代码贮藏起来,等解决bug后取消贮藏继续开发。

8 代码合并

通常将分支修改的代码合并到主干中,但由于此时主干和分支差异较大,需要借助第三方工具Beyond Compare来进行合并。

9 使用经验

提交前一定要先更新

提交前一定要保证自己的代码能够编译通过

不要忘记提交一些没有版本控制的文件(例如新增加的文件,没有进行增加操作,提交时是不会识别出来的)

其它的后面再补充

【SVN】SVN的基本操作相关推荐

  1. Cannot checkout from svn: svn: E155000: ‘XXX‘ is alrea

    Cannot checkout from svn: svn: E155000: 'XXX' is alrea 原因1:svn地址错误 输入的svn地址不对,仔细检查一下 原因2:svn 冲突 新建的这 ...

  2. [svn]svn conflict 冲突解决

    [svn]svn conflict 冲突解决 转自:http://www.gezila.com/tutorials/17290.html 目录: 1. 同一处修改文件冲突 1.1. 解决方式一 1.2 ...

  3. 什么是SVN?SVN的简介安装和使用

    目录 1.SVN 1.1什么是SVN 1.2SVN的作用 1.3常见的版本控制工具 1.4SVN的使用 1.4.1SVN基本使用原理 ​1.4.2SVN使用模式 1.4.3SVN工作方式 1.5SVN ...

  4. TortoiseSVN Show Log 出错:svn/***/!svn/*** path not found

    原本正常的 TortoiseSVN 1.8.12 ,突然出了问题,Repo-browser浏览SVN时,URL如果使用SVN的root根路径https://172.16.16.xx:8443/svn, ...

  5. Linux CentOS下配置SVN+SVN勾子

    环境介绍: 操作系统:CentOS release 6.5 (Final) 64位 网络环境:内网 1   配置SVN 1.1  安装SVN组件包 使用yum安装svn所需的组件包 # yum –y ...

  6. zbb20170607 svn SVN服务器搭建和使用

    安装版本 VisualSVN-Server-3.6.3-x64.msi 下载地址 https://pan.baidu.com/disk/home#list/vmode=list&path=%2 ...

  7. linux trac svn,SVN+Trac版本库的创建和Trac环境设置

    上午接到一个小任务,老师让给点云小组在Trac上添加一个SVN仓库和项目管理平台.虽然我们组在Trac上已经工作了一年多了,但是之前的配置工作都是由唐大牛来做的,我只是做做版本控制.现在大牛毕业了,实 ...

  8. SVN——SVN项目迁移到GIT

    svn有很多优点,但是git的出现对svn的冲击的确很大,现在很多公司项目的都迁移的git上了,下面是我自己在做svn迁移项目到git上面时候整理的一些资料,包括svn的提交日志记录也迁移到Git上面 ...

  9. svn——svn commit 用法

    转载   原文:https://blog.csdn.net/qq_39790633/article/details/103700391 使用svn进行代码的提交有两种方法:一种是通过TortoiseS ...

  10. [SVN]svn如何生成patch和打(导入)patch文件的简单方法

    转自 https://blog.csdn.net/ameyume/article/details/7766722 生成patch文件: svn diff > patchFile // 整个工程的 ...

最新文章

  1. socketserver模块用法,多道技术、 基于UDP的简易版QQ
  2. 我的世界服务器背景音乐修改,我的世界怎么添加背景音乐 修改添加bgm音乐方法...
  3. AIX进程监控与管理
  4. 青客宝团队redis内部分享ppt
  5. 智能巡检云监控指标的实践
  6. Lucene中string docvalues使用utf-16的优化
  7. php 开发商城 注意,开发PHP商城要注意的一些常见安全问题
  8. 【差分算法入门】例题讲解(代码逐句分析)
  9. 计算机中反三角函数怎么算,计算器怎么算反三角函数?
  10. Node+puppeteer学习笔记(五)--API问题解决--使用功能强大的“ eval ”函数
  11. 新能源车牌 普通车牌 特殊车牌正则校验
  12. 新连接、新生意、新生态,专访快手商业生态开放平台
  13. linux dd命令实战
  14. 海康摄像头二次开发详解,包含海康摄像头登录、海康云台控制、视频下载等功能
  15. 微信公众号模板消息申请开通流程
  16. GitStats - 统计Git所有提交记录工具
  17. 页面实时显示当前时间
  18. 如何搭建一个Vue项目和配置环境
  19. html5电脑配置,H310C主板福音来临!八代奔腾G5400核显组装电脑配置清单及价格
  20. 气温常年在25度的地方_全国哪几个城市的温度是长时间25度左右,适合居住的。...

热门文章

  1. 多媒体技术基本概念汇总
  2. min-height和min-width的使用场景
  3. matplotlib之pyplot模块plot函数基础二(线条外观:格式字符串fmt)
  4. 【VUE】源码分析 - computed计算属性的实现原理
  5. 调侃计算机专业的句子,调侃生活的幽默句子
  6. c语言编程培训网站,最新C语言编程培训
  7. springboot启动和关闭时的事件操作
  8. Yapi断言——服务端接口测试的复杂与个性化断言
  9. 大型企业网络安全解决方案
  10. 围绕 API 团队协作与自动化测试的实践