SVN客户端安装

SVN分为客户端、服务端,服务端用来存储代码,客户端用来提交代码到服务端,或者从服务端获取代码。

在Windows上,我们最常用的svn客户端就是 TortoiseSVN;TortoiseSVN 当前最新版本是可以到官网查看并下载;如果你的系统是64位的,点击下图中红圈的按钮下载,如果是32位的系统,则点击第一个按钮。

下载完成后,直接就是双击运行,然后一直是下一步的进行安装就好了。
此时你安装的是英文版,如果你需要汉化,则在下载页面继续往下滚动,找到如下图下载中文语言包。

下载后也是直接双击安装就好了,这时候你的右键svn菜单就会变成中文的了。

SVN经典目录结构说明

SVN的经典目录包含trunk、tags、branches。

trunk

trunk是主干,也就是主要工作的地方,也是最新的代码存放的地方。

branches

branches是分支的意思,分支开发和主线开发是可以同时进行的,也就是并行开发,分支通常用于修复bug时使用。例如在主干需要增加功能代码,但还不确定代码是否合理,可以先在该目录下新建分支并复制主干到该分支下来工作,测试通过后可合并代码到主干。也可以在分支中建立团队个人的分支,测试完成后合并到主干。

tags

tags是标签的意思,类似GIT的release。用于标记某个可用的版本,可以标记已经上线发布的版本,也可以标记正在测试的版本,通常是只读的。

Checkout检出代码

  1. 复制SVN地址。
  2. 在你需要保存代码的地方右键选择SVN Chekout…
  3. 填写SVN地址,填写保存目录,输入SVNBucket网站登录用户名密码。
  4. 点击确定就能同步代码到本地了。

Update更新代码

右键 SVN Update 更新代码,这样就能把其他人提交的代码同步到自己电脑上了。

自己提交代码前最好Update更新代码,防止服务器上已经有人更新过代码了导致上传失败。

Commit提交代码

提交代码也很简单,右键SVN Commit…,填入提交描述,就可以把本地提交的代码提交到服务器了。
在提交代码前我们应该update下代码,这是个好习惯,可以避免覆盖别人的代码和代码冲突。

注意:在提交代码时需要写log,在代码回溯时能有很好的帮助

忽略文件

有时候某些目录或者文件我们不想提交到 SVN 服务器,这时我们可以忽略这些文件。
下面演示忽略 temp 目录和 *.map 文件

撤销忽略,文件的操作方式步骤是一样的,目录的有点不一样,请看下面演示

撤销本地修改

有时候我们本地修改了一些文件,但是突然又不需要了,想丢弃本地的修改回去SVN上最新的版本怎么操作呢?
右键选中需要撤销的文件,TortoiseSVN->Revert 就可以丢弃本地修改了。

撤销已经提交的代码

已经提交到SVN仓库的代码发现改错了,还能后悔撤回吗?
右键TortoiseSVN ==> show log 查看提交记录
选择我们需要回去的版本,右键选择Revert to this version,这样就回去了指定的版本
最后你还需要commit下撤销后的代码到SVN仓库

如何创建分支

以上面的目录结构为例子,我们从当前主干创建一个分支出去,表示1.0版本,操作步骤如下:
右键 trunk 目录 => 右键TortoiseSVN => Branch/tag
填写分支路径/branches/online1.0,填写注释,选择最用最新的版本开分支,如下:

如何合并代码

假设我们在分支上修复了一个线上的BUG,需要把代码那个代码合并到主干来,操作步骤:

  1. 在分支的跟目录点击show log
  2. 选中需要合并过去主干的提交记录(可以多选)
  3. 点击merge revision to …
  4. 选择主干的跟目录,点击确定,就合并过去了。
  5. 在主干上提交这次合并的内容

SVN 的这个指定提交记录合并功能非常的方便,我们日常中经常会遇到线上出问题需要修复,修复后把代码合并到主干的情况。
注意:你在分支上的什么目录点击合并,那就需要定位到主干的对应目录合并,不然会出错。
另外如果你有大量的代码需要合并或者不知道哪些提交记录需要合并,可以使用Beyond Compare来进行对比合并,也是非常方便的,视频教程使用BeyondCompare做复杂代码合并。

切换分支

右键TortoiseSVN => Switch => 选择需要切换的分支,点击确定就可以了。

修改仓库地址

如果您的仓库地址变了,是不是需要重新checkout一份代码呢?
快速更换:右键点击仓库根目录 => TortoiseSVN => relocate,修改仓库地址,点击确定后就修改好了。

TortoiseSVN快速上手视频

SVN及TortoiseSVN快速上手

SVN及TortoiseSVN操作指南相关推荐

  1. eclipse中svn和TortoiseSVN更改账号的方法

    eclipse中svn和TortoiseSVN更改账号的方法 eclipse中svn更改账号的方法: 在svn的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想 ...

  2. SVN与TortoiseSVN实战:冲突详解(一)

    硬广:<SVN与TortoiseSVN实战>系列已经写了三篇,第一篇<SVN与TortoiseSVN实战:从入门到精通>,第二篇<SVN与TortoiseSVN实战:标签 ...

  3. SVN与TortoiseSVN实战:冲突详解(二)

    硬广:<SVN与TortoiseSVN实战>系列已经写了四篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...

  4. SVN客户端TortoiseSVN基本使用方法步骤-初人指南

    本文将讲述SVN客户端TortoiseSVN基本使用方法步骤,模拟两个客户端与服务器之间的关系,操作包括:SVN commit(提交).SVN checkout(检出).SVN Update(更新) ...

  5. svn教程----TortoiseSVN常用操作

    TortoiseSVN常用操作 1.浏览仓库 Repo-browser : 浏览仓库中资源信息 2.导入导出 Export :导出项目 ,和checkout区别 (checkout检出后文件,含有. ...

  6. svn教程----TortoiseSVN客户端

    TortoiseSVN客户端 1.svn客户端类型 svn客户端需要通过网络访问svn服务端提交文件.查询文件等,可通过以下客户端类型访问svn服务端: 1.使用Subversion提供的客户端命令 ...

  7. SVN专题(Visual SVN Server + TortoiseSVN + Visual SVN)

    参考资料: 1.Windows环境下搭建SVN服务器.原文地址:https://blog.csdn.net/lu1024188315/article/details/74082227 2.Git|SV ...

  8. SVN客户端--TortoiseSVN使用说明

    TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具.通过使用它,我们可以可视化的管理我们的版本库.不过由于它只是一个客户端,所以它不能对版本库进行权限管理. TortoiseS ...

  9. linux添加svn分支,TortoiseSVN 分支创建与合并

    前提准备: 确保本地Work Copy 和 服务器上的 版本一致.( 所有代码都提交到SVN,并update一次) 1  从主干创建分支代码 在本地Work Copy  选中项目文件夹,鼠标右键选择 ...

最新文章

  1. Python在Seaborn中手动指定调色板颜色进行数据可视化颜色自定义实战(Manually Specify Palette Colors in Seaborn)
  2. 阿里巴巴2014校招笔试错误汇总
  3. rtc关机闹钟6 AlarmManagerService研究
  4. MySQL5.5各架构复制
  5. java spring上传_SpringMVC上传文件的三种方式
  6. java三板斧_Java 枚举使用三板斧
  7. Redis的常用命令及数据类型
  8. Bash中单引号和双引号之间的区别
  9. 软件测试工程师必备的27个基础技能
  10. 修改网页logo图片
  11. 一对一直播app源码开发的前端实现
  12. centos下安装firefox
  13. java工程师面试题大全100%公司笔试题你都能碰到几个
  14. android虚拟按键实现,虚拟按键的实现
  15. 一个屌丝程序猿的人生(十六)
  16. Educational Codeforces Round 61 (Rated for Div. 2)(A、B、C、D、E、F)
  17. kubekey搭建K8s集群与kubeSphere容器云管理平台实战
  18. 一键定位电脑弹出垃圾广告,屏蔽删除终止,windows神器!
  19. 南京师范大学的计算机科学与技术专业怎么样,南京师范大学计算机科学与技术学院...
  20. Transformer 和卷积神经网络在跨物种基因组DNA N6甲基腺嘌呤位点识别中的应用

热门文章

  1. 计算机体系结构 第1-2章 量化设计与分析基础/指令系统原理与示例
  2. php小程序session取不到,微信小程序实现Session功能及无法获取session问题的解决方法...
  3. java ipv6抓包_ipv6地址抓包分析
  4. 前大灯是近光灯还是远光灯_如何看自己是开近光灯还是远光灯
  5. centos安装IBUS并添加98五笔
  6. 科普一下MTU是什么,如何设置MTU
  7. Spire.Doc for .NET 笔记
  8. s(vstart_and_v3)_(e_tec)_(no_tec_rec)
  9. H-JTAG ARM仿真器和MDK 联调设置
  10. iOS开发编译报错“No “iOS Development” signing certificate matching team ID “XXXXXXX””的解决方法