安装

客户端和服务端下载地址,打开网址,根据自己的操作系统下载对应的版本,window用户服务端一般安装的是VisualSVN,客户端安装TortoiseSVN,在实际工作中,我们一般只需要安装TortoiseSVN,对应的IDE中安装好svn插件就可以了。

SVN Checkout

进入公司的第一天,当然是将我们的开发项目从服务器上Checkout下来了,在checkout下来之前,我们需要先在本地新建几个文件夹,例如在D:盘下面新建一个code 文件夹,code下面分别新建branches 和 trunk文件夹,branches里面以后存放所有的项目分支, trunk里面以后存放项目主干,目录结果大致如下:

1
2
code ┌ branches
├ trunk

假如项目分支名称为project_V1.0.1_2015_01_01,则我们一般是再在d:\code\branches目录下新建一个名为project_V1.0.1_2015_01_01的文件夹,然后将分支checkout到该文件夹目录下.在以后有新的分支时,同样以分支名命名一个新的文件夹,然后check下来。checkout主干时无需在trunk目录下新建文件夹。最后我们会发现我们本地的目录结构是和SVN服务器上目录结构一致。

与资源库同步

在update和commit操作之前,我们都需要与资源库同步一下,目的是检查一下别人是否在你操作之前已经提交过代码造成了代码冲突,有冲突的文件默认一般会有一个红色的标记,当有冲突时就需要我们手动解决冲突后再执行update或者commit操作,这里记录下以eclipse为例,怎么解决代码冲突.
如下图中,左边表示本地的代码,右边表示远程服务器上的代码,同事在我之前提交了4个接口方法,左边public void test();方法是我新加的代码,

这时我在同步代码时就需要先解决冲突,这是只需要点击箭头指向的那个小圈Copy Current change from Right to Left就可以了,右边的代码会被copy到左边去.然后保存,在文件上鼠标右键点击,然后就可以更新代码了。当然你也可以先更新下来代码后再解决冲突.不一定需要先解决冲突在更新…

更新与提交

建议一定先同步后在执行更新或者提交操作,这样你好大家也都好.commit时一定写好提交注释.

合并代码

分支代码开发完了,我们需要将代码合并到主干上去进行测试,或者两个分支在同时进行不同功能开发时,最后我们需要把一个分支的代码合并到另外一个分支上去.首先我们需要知道我们的目标是什么,合并到分支,合并到主干,到分支,到主干!!!到哪里,重点就在哪里,就已谁为标准,例如我们分支合并到主干:
就以主干为主,在上右键,选择,选择Merge a range of revisions,点击next,然后在 URL to merge from 填写svn服务器上分支路径,如:

然后点击Next,再点击Test merge,开始测试合并代码了,这时如果文件有冲突会被标记为红色,注意,这不是真正的合并代码,正式的合并需要直接点击Merge,合并成功后,只是合并到了我们本地,需要的话,还需自己commit到服务器上.Merger的过程中还可能会出现冲突,出现冲突我们怎么解决呢。

解决冲突

如果合并代码出现冲突,会出现一个提示框,要你解决冲突:
解决冲突
然后编辑冲突,点击 Edit conflict 会跳转到代码冲突详情页:
代码详情
左边的Theirs:代表远程的代码,即这里我们的分支代码
右边的Mine:代码本地的代码,即合并到主干的主干代码
红色区域的地方就表示代码可能有冲突
这时候我们可以在左边区域或者右边区域鼠标右键,然后选择Use this text block 或者 use this whole file,一般我们是看哪边是最新的代码,然后就选中那边红色区域中的代码,然后选择Use this text block,以这个区域的代码为准,显示在下方区域.下方区域显示的是我们合并后最终的代码.
然后点击左上角的 save ,关掉窗口,出来之后一定不要忘记了点击 Resolved!!!

这样就是解决了一个文件的冲突,然后继续点击 Edit conflict ,继续解决其他冲突!直至没有冲突.

版本控制SVN的使用笔记的更多相关文章

  1. iOS开发——开发实战篇&版本控制SVN和Git使用详解

     版本控制SVN和Git使用详解     公司的实际开发中,在天朝使用较多的还是SVN,因为SVN是集中式的,在天朝上班你们都懂的!     -----------------svn--------- ...

  2. 【版本控制——svn】

    reposity_name   //版本库 { Passwd //验证密码文件 Authz //权限控制 Server.conf //主配置 } Authz //权限控制 //由[groups]标签控 ...

  3. 个人环境搭建——版本控制SVN

    版本控制SVN SVN服务器配置: 第一部分:svn服务器搭建(主要是四步走) 参考:http://www.son1c.cn/show/920.html 一,安装Subversion sudo apt ...

  4. 版本控制— SVN & git

    版本控制—— SVN & GIT 提问 什么是版本控制? 是能够一直监视代码文件的变更,并存储这些文件以便将来引用的一种机制(软件) 为什么要使用版本控制? (1)记录哪个开发人员做了变更 ( ...

  5. SVN命令行笔记

    SVN命令行笔记 近期玩了一下命令行,记录如下. svn info <path> #查看文件,路径信息 svn log <path> #查看文件,路径历史记录 svn st(s ...

  6. 版本控制-svn服务器搭建和常用命令(centos 6.3)

    Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...

  7. 版本控制 - SVN/TortoiseSVN

    研读了blog: 1. http://www.open-open.com/lib/view/open1346982569725.html  2. http://www.360doc.com/conte ...

  8. SVN快速入门笔记【转】

    1. SVN版本控制软件目的 协作开发 远程开发 版本回退 2. 什么是SVN subVersion 支持平台操作 支持版本回退 3. 获取SVN软件 属于C/S结构软件(客户端与服务端) serve ...

  9. Git 与 SVN 命令学习笔记

    一:Git git config --global user.name "you name"   #设置用户名git config --global user.email &quo ...

随机推荐

  1. 修改centos地址连接为自动连接

    1.进入目录/etc/sysconfig/network-scripts/ 2.修改ifcfg-etn0 文件   (即你的网卡标识命名的配置文件) 3.将ONBOOT=no改成yes 4.保存后重启 ...

  2. LeetCode解题报告—— Permutations & Permutations II & Rotate Image

    1. Permutations Given a collection of distinct numbers, return all possible permutations. For exampl ...

  3. Loadrunner脚本读取 XMl 文件

    Loadrunner脚本读取 XMl 文件 性能测试工程师要懂代码么?答案是必须的,好多测试员认为在 loadrunner 中编写脚本很难很牛 X . 好多人认为 loadrunner 只支持 C 语 ...

  4. CSS3主要的几个样式笔记

    1.边框:border-color:    设置对象边框的颜色.     使用CSS3的border-radius属性,如果你设置了border的宽度是X px,那么你就可以在这个border上使用X ...

  5. 关于在eclipse下的mapreduce工程打包成jar包的问题(包含第三方jar包)

    这个问题也是在开发项目中经常遇到的一个问题,网上提供了很多方法,但是我发现很多并不适用,这里推荐两种方法,一种肯定没问题,就是比较麻烦,另一种是适用FatJar来打包,但是我没成功,原因估计出在ubu ...

  6. 字符串匹配&Rabin-Karp算法讲解

    问题描述: Rabin-Karp的预处理时间是O(m),匹配时间O( ( n - m + 1 ) m )既然与朴素算法的匹配时间一样,而且还多了一些预处理时间,那为什么我们还要学习这个算法呢?虽然Ra ...

  7. 读书笔记(高性能javascript)(二)

    5. 字符串和正则表达式: (1) 在大多数浏览器中,数组项合并(Array.prototype.join)比其他字符串连接方法更慢,但它却在IE7及更早版本浏览器中合并大量字符串唯一高效的途径: ( ...

  8. 【前端必备】三、JS篇

    1.运算符与隐式类型转换 类型判断: typeof constructor.toString().indexOf() NaN是numberArray.Date.Null都是Objectfunction ...

  9. 解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph

    因为在设计一个树形结构的实体中用到了多对一,一对多的映射关系,在加载其关联对象的时候,为了性能考虑,很自然的想到了懒加载. 也由此遇到了N+1的典型问题 : 通常1的这方,通过1条SQL查找得到1个对 ...

  10. Java浮点类型的格式化

    概述 基于Java,介绍将浮点类型小数进行格式化的方案. 正文 在Java中,用于格式化小数的类是java.text.DecimalFormat,比如你可以这样使用: double data = 33 ...