安装说明
开发人员强烈建议使用IDE中的SVN插件更加智能与人性化。

首先安装SVN客户端,windows一般选择乌龟客户端https://tortoisesvn.net/downloads.html。 根据系统位数选择相应客户端进行安装。

 
image_1ak3avt6j1k2p1f6h1cg711lp3pu9.png-57.9kB

如果你喜欢用命令行操作,请务必记得勾选command line client tool
为will be install on local hard driver
,不用命令行的跳过这一步。

 
image_1ak3cf587b5a15j21i9s1ne8uhf1g.png-55kB

然后一路next即可安装。安装完毕后,在任意地方右键查看快捷菜单。发现TortoiseSVN
即表示安装成功。

 
image_1ak3cneu9tb6pu8k44rck90k1t.png-135kB

如果勾选了安装命令行工具,那么输入命令SVN,有如下提示也表示安装成功

 
image_1ak3ctqp61c0a1vku1e30cib9312a.png-9.6kB

但是此时菜单全是英文的,如果你不习惯英文,可以去下载语言包,记得下对系统位数。

 
image_1ak3b28uv1et21lelqiglpr1krjm.png-46.3kB

安装完语言包之后,可以右键进入setting
设置。

 
image_1ak3d7reg1tdhdqjhfhim319d2n.png-89.7kB

选择你喜欢的语言(比如中文),然后确定,不出意外,现在的语言已经切换到中文了。

 
image_1ak3dama4kcf1flmr9a8d1hqe34.png-187kB

安装教程到此结束,下面开始介绍SVN的使用。
使用说明
检出项目
假如项目已经在服务器的仓库里,那么现在你要做的就是把它检出到本地。 首先创建一个空文件夹。在空文件夹内右键,选择SVN检出。

 
image_1ak3do46q18kl1l79c9u4pu1mdd3h.png-21.5kB

现在你看到应该是这个界面,填入版本库地址,选择确定。

 
image_1ak3dsjn6ha81ojlg2a1b1h67o3u.png-40.8kB

此时会弹出一个对话框让你输入账号密码,输入你的账号密码即可。记得勾选保存认证,不然每次操作都会让你输入。

 
image_1ak3e0eesor01kg616s81aj11h524b.png-21.5kB

等几分钟就可以检出完毕。

 
image_1ak3e38931rr19dg1cbd1t8pn3g4o.png-51.4kB

此时在你的目录下就能看到你的项目,现在可以开始愉快的工作了。

 
image_1ak3e6ja4gnsvep1oaluia2pp55.png-5.3kB

导入项目
但是有时候你已经在本地建立好了项目,需要把你项目推到SVN上,此时应怎么做呢? 右键选择版本库浏览器。

 
image_1ak3eopb116i6192u14i4c7r1avu6c.png-101kB

在相应目录下,右键,加入文件/加入文件夹,选择相应目录即可。

 
image_1ak3etni4fba1oi017rv1u6m1gn16p.png-116kB


比如我现在有个项目叫SVNProject,我想把它传到SVN上。

 
image_1ak3f04bl1k5q1qmrrcmu4m1j2j76.png-50.7kB

那么我只需选择加入文件夹即可。

 
image_1ak3f5l6f1h8f1rimgee1544sdc7j.png-35kB

务必要输入提交信息。这样别人才能知道你干了什么。

 
image_1ak3f7oe71gs6mkdlucdrrqq880.png-31.7kB

导入成功就能看到目录。

 
image_1ak3fbqo13gu1uji53ku5g1bs68d.png-110.6kB

但是,不要以为导入成功就可以了。你还得重新检出,重新检出的项目才是受SVN控制的,务必记得检出。

 
image_1ak3fghhcg9fk9oab61n5q1sqg8q.png-110.6kB

在SVNProject上右键检出到本地,然后在里面进行修改。现在就可以愉快的工作了。 检出过后的右键菜单变成了这样。

 
image_1ak3fnbnn1ber1u0k1hbs1ti6ovi97.png-24.4kB

提交
绿色表示当前文件没有被修改过(看不见颜色的重启下电脑就好了)。

 
image_1ak3g3u171j9j1r40mbp1hkv12ju9.png-4.1kB

假如我现在在我是新项目.txt
中加了一行字,然后保存。

 
image_1ak3g7ct21svq1lrejruu6e16okm.png-6.1kB

发现现在变成了红色,红色表示已修改。

 
image_1ak3g9vfl1rqc1mvb19s81hg1t3913.png-4.9kB

怎么提交修改? 在根目录下,右键选择提交。

 
image_1ak3gdc7j17dt1n50d1l8e1trp1g.png-25.2kB

务必记得输入提交信息(虽然不输入也能提交),提交信息可以方便日后查看。

 
image_1ak3gif5h13l11rfmorm87g5a71t.png-74kB

提交完毕后,可以发现又恢复到了绿色。

 
image_1ak3gngr3o2amk41abkod91ogi2a.png-5kB

假如现在加入了一个新文件。可以看出是蓝色的。蓝色表示不属于版本库的未知文件,未知文件是不能提交的。

 
image_1ak3grpb5hgbs62sj4tthfql2n.png-11.6kB

记住选择增加把它加入到版本库里面去。

 
image_1ak3h1boe1njh1dhrhu1bjr1t333k.png-50.7kB

增加完毕后,变成了蓝色加号,表示新增加的版本库文件。

 
image_1ak3h5j9j1j4cnfhhq2vv2lba41.png-4.3kB

接下来,只需写代码,然后提交即可。 删除文件也应该右键提交,如下。

 
image_1ak3hcqrakda18mc5pg1dlke4d4e.png-57.7kB

记得随时检查你的文件状态,如果没有添加到版本控制里要及时添加进去,不然你的文件提交不上去。
更新
假如你和B同学在协作。B同学写完代码提交到了SVN上,如果你想获取最新修改,就需要选择更新(如果服务器上已经有别人提交过的新的,你是提交不上去的,必须先更新再提交)。 怎么知道服务器有没有更新?你可以直接选择更新,有没有更新一下就知道。或者右键检查修改,然后检查版本库,就能看到服务器上改了哪些文件。

 
image_1ak3i1mon1f871qr9178eds61qoq4r.png-100.3kB

右键选择HEAD和BASE比较。

 
image_1ak3i7ql4mre1t6e17r717o81nlq58.png-22.9kB

左边的表示你的代码,右边的表示服务器上的代码。

 
image_1ak3i9ado1p6cv6aoh460210it5l.png-117.7kB

如果有修改记得及时更新到本地然后再继续工作。
但是有时候更新会冲突,比如你和服务器上的改了同一个地方。 这时候你需要更新下来解决冲突。

 
image_1ak3ihv861ceq1gko16jl1uu3mqe62.png-68.8kB

它会提示你哪个文件冲突,你只需打开那个文件,按照需求解决冲突即可。

 
image_1ak3ikl7a1c9dmk619r9d371mui6f.png-11.4kB

<<<<<<.mine到====表示你的代码,其他表示服务器的代码。你只需改成你想要的。

 
image_1ak3iojkm7ic6911jr39021qk46s.png-5.1kB

然后选择解决,告诉SVN我已经解决冲突了就行了。

 
image_1ak3itj8gt8315rf1flij6k1l1979.png-41.3kB

剩下的就是团队协作间的更新提交操作,这里不做赘述。
查看日志
选择显示日志,可以看出团队里面的人干了什么。

 
image_1ak3j48bv6r9tnm821u3gpjn7m.png-30kB

可以看出谁谁谁,什么时间,干了什么事。最后那一列信息是自己提交的时候写的。建议大家提交时务必要填写提交信息,这样别人一看就知道你干了什么。提交信息对于自己也是有好处的,时间长了也能看到当初做了什么。

 
image_1ak3j7va3jbt147j1s2thni1eui83.png-98.6kB

版本回滚
如果你改了东西,但是还没有提交,可以使用还原功能。

 
image_1ak4pcd3bpac328t5u1mas1k1v9.png-103kB

但是如果我们写错了东西并且提交了上去怎么办?通过版本回滚可以将文件恢复到 以前的版本。右键更新至版本,通过查看日志来选择版本,然后回滚即可。

 
image_1ak3k9pl5nt0euj10eob6e1pai8t.png-21.1kB

有时候我们需要查看以前版本的代码。此时我们可以新建个文件夹检出到指定版本。

 
image_1ak3kifgr1b1q1fv0p871f25jda9a.png-158.9kB

版本控制
版本控制有好几种方法,如下。
在提交发布版本时添加版本信息,这是最简单的一种方法。

 
image_1ak3locvo1ndq4pg1nohuhn1fh89n.png-17.1kB

打标签 每次发布版本时应该打标签。右键选择分支/标记。在至路径以版本号打上标签即可

 
image_1ak3muiav1t0o9v21a5qfnt3ut9.png-28.3kB
 
image_1ak4tm0e3aal1t71r94p941h9p2a.png-80kB

这样你就有了一个v1.0版本的标签。 以后如果你想查看某个版本的代码,只需切换过去就行

 
image_1ak3n7ai51l6b77j10811plc12ba13.png-14.9kB

总结
我们在日常使用中,最常用的是更新和提交操作。这两个步骤务必要非常熟练。其他的可以在遇到问题是查看文档。此外,需要注意的是,所有版本控制工具只能跟踪文本文件(能用记事本打开查看的文件),不要妄想SVN能记录你word改了哪一行。一旦遇到word冲突,记住仔细对比两个版本,然后解决冲突。
此文并非本人原创,是转摘于maplejaw_博客:

作者:Tang7
链接:https://www.jianshu.com/p/6b3b7b915332
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

TortoiseSVN教程级别指南的更多相关文章

  1. Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据

    Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据 在这一节中,你将新创建一个新的 MoviesController类,并编写代码,实现获取影片数据和使用视图模板在浏览器中展现 ...

  2. Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型

    Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型 在这一节中,你将添加用于管理数据库中电影的类.这些类是ASP.NET MVC应用程序的模型部分. 你将使用.NET Framewo ...

  3. Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图

    Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML ...

  4. Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器

    Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器 MVC概念 MVC的含义是 “模型-视图-控制器”.MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程 ...

  5. TortoiseSVN教程

    TortoiseSVN使用教程 TortoiseSVN是一个SVN的客户端 1.Checkout Repository 首先要Checkout服务器端的Repository,所谓的Checkout就是 ...

  6. TortoiseSVN新人使用指南

    http://blog.csdn.net/maplejaw_/article/details/52874348

  7. 【转】SVN服务器搭建--Subversio与TortoiseSVN的配置安装

    转载地址:http://blog.csdn.net/xinxin19881112/article/details/6410263 1.  Subversio和TortoiseSVN 简介 Subver ...

  8. Latex:入门教程

    http://blog.csdn.net/pipisorry/article/details/54571521 总的来说,LaTex是一套排版系统,与word那种所见即所得对排版方式不太,用LaTex ...

  9. JUnit单元测试教程(翻译自Java Code Geeks)

    JUnit单元测试教程--终极指南 JUnit单元测试教程终极指南 说明 单元测试简介 1 什么是单元测试 2 测试覆盖 3 Java中的单元测试 JUnit简介 1 使用Eclipse实现简单JUn ...

随机推荐

  1. dll 在进程中怎么区分的

    平时一直没想过这个问题,今天在测试输入法注入的时候才发现windows下dll在进程中是以名字区分的,即使是完全一模一样的DLL. 具体详情,容我慢禀 :   需求是这样的,只能含有一个a.DLL,这 ...

  2. FastExcel遇到的问题

    第一次使用FastExcel发现在创建excel文件的时候不成功,一直报这个问题: org.apache.poi.EmptyFileException: The supplied file was e ...

  3. 【BZOJ1937】[Shoi2004]Mst 最小生成树 KM算法(线性规划)

    [BZOJ1937][Shoi2004]Mst 最小生成树 Description Input 第一行为N.M,其中 表示顶点的数目, 表示边的数目.顶点的编号为1.2.3.…….N-1.N.接下来的 ...

  4. Highway

    Highway Accepted : 78   Submit : 275 Time Limit : 4000 MS   Memory Limit : 65536 KB Highway In ICPCC ...

  5. Vue中非父子组件传值的问题

    父子组件传值的问题,前面已经讲过,不再叙述,这里来说一种非父子组件的传值. vue官网指出,可以使用一个空vue实例作为事件中央线! 也就是说 非父子组件之间的通信,必须要有公共的实例(可以是空的), ...

  6. 洛谷 P2261 [CQOI2007]余数求和

    洛谷 一看就知道是一个数学题.嘿嘿- 讲讲各种分的做法吧. 30分做法:不知道,这大概是这题的难点吧! 60分做法: 一是直接暴力,看下代码吧- #include <bits/stdc++.h& ...

  7. Python3.6全栈开发实例[025]

    25.文件a1.txt内容(升级题)name:apple price:10 amount:3 year:2012name:tesla price:100000 amount:1 year:2013通过 ...

  8. ThreadLocal (二):什么时候使用 InheritableThreadLocal

    一.ThreadLocal 在父子线程传递的问题 public class InheritableThreadLocalDemo { // 全局变量 // static ThreadLocal< ...

  9. Apache JServ Protocol (AJP)

    The Apache JServ Protocol (AJP) is a binary protocol that can proxy inbound requests from a web serv ...

  10. nodejs从服务器获取数据

    // 从服务器获取数据 request('http://192.168.1.7:8080/getDemo', function(error, response, body) { console.log ...