版本控制SVN的使用笔记
安装
客户端和服务端下载地址,打开网址,根据自己的操作系统下载对应的版本,window用户服务端一般安装的是VisualSVN,客户端安装TortoiseSVN,在实际工作中,我们一般只需要安装TortoiseSVN,对应的IDE中安装好svn插件就可以了。
SVN Checkout
进入公司的第一天,当然是将我们的开发项目从服务器上Checkout下来了,在checkout下来之前,我们需要先在本地新建几个文件夹,例如在D:盘下面新建一个code 文件夹,code下面分别新建branches 和 trunk文件夹,branches里面以后存放所有的项目分支, trunk里面以后存放项目主干,目录结果大致如下:
1 |
code ┌ branches |
假如项目分支名称为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的使用笔记的更多相关文章
- iOS开发——开发实战篇&版本控制SVN和Git使用详解
版本控制SVN和Git使用详解 公司的实际开发中,在天朝使用较多的还是SVN,因为SVN是集中式的,在天朝上班你们都懂的! -----------------svn--------- ...
- 【版本控制——svn】
reposity_name //版本库 { Passwd //验证密码文件 Authz //权限控制 Server.conf //主配置 } Authz //权限控制 //由[groups]标签控 ...
- 个人环境搭建——版本控制SVN
版本控制SVN SVN服务器配置: 第一部分:svn服务器搭建(主要是四步走) 参考:http://www.son1c.cn/show/920.html 一,安装Subversion sudo apt ...
- 版本控制— SVN & git
版本控制—— SVN & GIT 提问 什么是版本控制? 是能够一直监视代码文件的变更,并存储这些文件以便将来引用的一种机制(软件) 为什么要使用版本控制? (1)记录哪个开发人员做了变更 ( ...
- SVN命令行笔记
SVN命令行笔记 近期玩了一下命令行,记录如下. svn info <path> #查看文件,路径信息 svn log <path> #查看文件,路径历史记录 svn st(s ...
- 版本控制-svn服务器搭建和常用命令(centos 6.3)
Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...
- 版本控制 - SVN/TortoiseSVN
研读了blog: 1. http://www.open-open.com/lib/view/open1346982569725.html 2. http://www.360doc.com/conte ...
- SVN快速入门笔记【转】
1. SVN版本控制软件目的 协作开发 远程开发 版本回退 2. 什么是SVN subVersion 支持平台操作 支持版本回退 3. 获取SVN软件 属于C/S结构软件(客户端与服务端) serve ...
- Git 与 SVN 命令学习笔记
一:Git git config --global user.name "you name" #设置用户名git config --global user.email &quo ...
随机推荐
- [ Python ] 基本数据类型及属性(下篇)
1. 基本数据类型 (1) list 列表 (2) tuple 元组 (3) dict 字典 (4) set 集合 2. list 列表方法 Python 内置的一种数据类型, ...
- StringBuilder类的作用,以及与String类的相互转换
# 转载请留言联系 先看一段String类的字符串拼接的代码. String s = "hello" 会在常量池开辟一个内存空间来存储”hello". s += &quo ...
- 高性能网络服务器--I/O复用 select poll epoll_wait之间的区别
一.select select采用的是集合的方式,最多只能访问1024个套接字.可读,可写,异常,三种访问,并且采用的是轮训的方式进行每次访问都需要从内核向用户空间拷贝 二.poll poll采用的是 ...
- UVALive 5099
B - Nubulsa Expo Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit S ...
- 自定制Form组件
代码 import re import copy class ValidateError(Exception): def __init__(self,detail): self.detail = de ...
- [水煮 ASP.NET Web API2 方法论](1-3)如何接收 HTML 表单请求
问题 我们想创建一个能够处理 HTML表单的 ASP.NET Web API 应用程序(使用 application/x-www-form-urlencoded 方式提交数据). 解决方案 我们可以创 ...
- 解决报错:Access denied for user 'root'@'xxx' ,MySQL不允许从远程访问的方法 .
原文地址:传送门 例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDEN ...
- echarts官网上的动态加载数据bug被我解决。咳咳/。
又是昨天,为什么昨天发生了这么多事.没办法,谁让我今天没事可做呢. 昨天需求是动态加载数据,画一个实时监控的折线图.大概长这样. 我屁颠屁颠的把代码copy过来,一运行,caocaocao~bug出现 ...
- cssBase.css你应该有一个
@charset "utf-8"; /*! * @名称:base.css * @功能:1.重设浏览器默认样式 * 2.设置通用原子类 */ /* 防止用户自定义背景颜色对网页的影响 ...
- CentOS7.5安装坚果云
1.下载坚果云rpm包,对于CentOS,选fedora那个版本的包 https://www.jianguoyun.com/s/downloads/linux 2.安装 坚果云安装依赖notify-p ...