- 浏览: 3326253 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (567)
- Web前端-html/表单 (19)
- Web前端-CSS (24)
- Web前端-CSS框架 (4)
- Web前端-JS语言核心 (50)
- Web前端-JS客户端 (26)
- nodejs生态+grunt (10)
- seajs和requirejs (9)
- backbone等框架 (7)
- 模板基础 (7)
- Web前端-deps(不改动) (6)
- Web前端-component (10)
- Web前端-jquery-plugin (13)
- 浏览器兼容性 (6)
- Web前端-使用jQuery (25)
- Web前端-使用jqueryui (6)
- Web前端-性能优化 (3)
- Web协议-HTTP (6)
- ExtJS (13)
- PHP (22)
- PHP面向对象 (4)
- PHP扩展-SOAP (6)
- PHP扩展-curl (4)
- PHP与HTML(导出) (5)
- PHP扩展-综合 (7)
- mysql基础应用 (18)
- 技术心情 (18)
- 算法和面试题 (17)
- 工具(开发)使用 (36)
- memcached原理 (2)
- session和cookie (4)
- UML (2)
- Web前端_FusionCharts (5)
- Web前端_Flex (4)
- Web前端_JSP (3)
- JavaSE (10)
- JavaEE (4)
- tomcat (2)
- Servlet开发 (3)
- Spring开发 (1)
- REST相关 (2)
- 大访问量、高并发 (2)
- 网络编程 (1)
- YII (21)
- linux命令和内核 (12)
- yii与数据库 (10)
- yii与表单 (12)
- yii view层 (1)
- perl (7)
- yii扩展 (7)
- shell (4)
- photoshop (7)
- 视觉设计 (2)
- 我关注的名人在路上 (4)
- 1-自学能力 (1)
- 2-人际沟通能力 (3)
- 3-职业规划能力 (7)
- 4-项目管理能力 (2)
- python (3)
- django (4)
- Mysql高级应用 (6)
- prototype.js (4)
- Web系统安全 (1)
- Web前端-mobile (2)
- egret (6)
- jQuery源码分析 (5)
- fis (4)
最新评论
-
yzq21056563:
感谢作者分享~请教下,http://www.lisa33xia ...
CSS基础:text-overflow:ellipsis溢出文本 -
u012206458:
$.ajax的error,complete,success方法 -
DEMONU:
谢谢,虽然不能给你赞助,但是要给你顶
mysql中key 、primary key 、unique key 与index区别 -
njupt_tolmes:
阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿凡达阿滕庆亚 ...
CSS基础:text-overflow:ellipsis溢出文本 -
zenmshuo:
用过SpreadJS,也包含数据可视化的图表
推荐几个web中常用js图表插件
作者:zccst
分支1:待上线(new_branch)
分支2:当前线上(online_branch)
cd new_branch
1,先将分支1与主干合并。
目的:获取最新主干。本质是将新旧主干的差异代码合并到分支1中。
svn merge https://old_trunk https://new_trunk
2,再将分支1与分支2合并。
目的:获取上一个版本上线后的更改。本质是将分支2的更改与最新主干合并到分支1中。
svn merge https://new_trunk https://online_branch
如果有冲突:
svn st | grep "C"
改。。。。。。。。。。。。。。
svn resolve --accept working /path/file
svn ci -m 'reason...'
另摘录一篇:
svn 的 merge其实很好用,当然前提是你明白了svn merge这个命令,还好,我用了大约一年明白了这个命令 -___-!!
跟大家说一下用法,比如我们要把分支merge到主干上
# svn merge --help
merge: Apply the differences between two sources to a working copy path.
usage: 1. merge sourceURL1[@N] sourceURL2[@M] [WCPATH]
2. merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]
3. merge [-c M | -r N:M] SOURCE[@REV] [WCPATH]
我们以第一个为例
merge sourceURL1[@N] sourceURL2[@M] [WCPATH]
这个help里面提示,merge需要三个参数
sourceURL1,sourceURL2的含义并不是两个分支,或者一个分支一个主干,而是同一个分支的两个状态,或者说是两个版本。对这两个版本做一个diff,然后把diff的结果,应用到最后的参数WCPATH上,WCPATH代表是一个本地已经checkout的工作区
svn merge的思想是diff and apply
比如,我开发一个项目叫做proj
目录结构是
proj/trunk
proj/branches
proj/tags
(省略了http:// 之后的,只是相对路径,但是真正使用时候不能省略)
当版本达到100的时候,我决定做一个branch进行一些其他开发
[Reversion:100]
$svn cp proj/trunk proj/branches/proj_branch_1
OK Reversion:101
然后,trunk和proj_branch_1都在开发,到了某一个版本,比如150,branch开发完成,需要merge回到trunk
此时的目录结构是
[Reversion:150]
proj/trunk
proj/branches/proj_branch_1
proj/tags
按照svn的实现,我需要知道proj_branch_1所做的所有的变化,也就是当前的状态对刚刚生成时候状态的变化。根据这个变化生成一个diff文件,在apply一个本地的工作区上。(建议是一个干净的本地trunk工作区)
那么执行
$cd proj/trunk
$svn merge proj/branches/proj_branch_1@101 proj/branches/proj_branch_1 .
其实,第一个URL(我们称之为左边),为起始状态,通过最后的@101,表示取版本101,这个101就是cp成功之后的那个版本。第二个URL(我们称之为右边),为最终状态,取最新的,
左边和右边做了一个diff,应用到当前工作区目录,也就是trunk。
此时
$svn st就可以看到变化了
这里的一个问题是如何获取这个cp之后的版本,也就是例子中的101
可以使用svn log里面的--stop-on-copy命令
$svn log --stop-on-copy proj/branches/proj_branch_1
会到cp的时候停下来,那里边标注的版本就是需要的版本
比如,这是一个真正项目的一个例子,
------------------------------------------------------------------------
r995 | yinweiming | 2007-10-24 09:07:08 +0800 (三, 24 10月 2007) | 1 line
Create a branch for proj client using
------------------------------------------------------------------------
其中的r995,995就是我需要的版本
(说明一下,commit时候写commet的好处,比如这里我就很明确的肯定这是branch的起始点)
对于svn merge的另外的用法也是类似,只要是明白了
他是根据左边,右边生成diff,然后应用到本地的一个工作区就容易理解了。
还有可以使用svn merge --dry-run来模拟假装merge一下,看一下merge会发生什么,而不是真正的做这个动作。
而对于merge的help里面的 3. merge [-c M | -r N:M] SOURCE[@REV] [WCPATH]
这个也很容易理解,就是取 SOURCE 这个东西,版本N,M之间的区别,作用在WCPATH这个本地工作区上
注意!
做branch千万别根据本地修改过的工作区做,一定基于某一个URL的版本做
我就吃过这个亏
diff的时候,diff不出来,因为基于本地工作区的,所以现在merge起来很是费劲
分支1:待上线(new_branch)
分支2:当前线上(online_branch)
cd new_branch
1,先将分支1与主干合并。
目的:获取最新主干。本质是将新旧主干的差异代码合并到分支1中。
svn merge https://old_trunk https://new_trunk
2,再将分支1与分支2合并。
目的:获取上一个版本上线后的更改。本质是将分支2的更改与最新主干合并到分支1中。
svn merge https://new_trunk https://online_branch
如果有冲突:
svn st | grep "C"
改。。。。。。。。。。。。。。
svn resolve --accept working /path/file
svn ci -m 'reason...'
另摘录一篇:
svn 的 merge其实很好用,当然前提是你明白了svn merge这个命令,还好,我用了大约一年明白了这个命令 -___-!!
跟大家说一下用法,比如我们要把分支merge到主干上
# svn merge --help
merge: Apply the differences between two sources to a working copy path.
usage: 1. merge sourceURL1[@N] sourceURL2[@M] [WCPATH]
2. merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]
3. merge [-c M | -r N:M] SOURCE[@REV] [WCPATH]
我们以第一个为例
merge sourceURL1[@N] sourceURL2[@M] [WCPATH]
这个help里面提示,merge需要三个参数
sourceURL1,sourceURL2的含义并不是两个分支,或者一个分支一个主干,而是同一个分支的两个状态,或者说是两个版本。对这两个版本做一个diff,然后把diff的结果,应用到最后的参数WCPATH上,WCPATH代表是一个本地已经checkout的工作区
svn merge的思想是diff and apply
比如,我开发一个项目叫做proj
目录结构是
proj/trunk
proj/branches
proj/tags
(省略了http:// 之后的,只是相对路径,但是真正使用时候不能省略)
当版本达到100的时候,我决定做一个branch进行一些其他开发
[Reversion:100]
$svn cp proj/trunk proj/branches/proj_branch_1
OK Reversion:101
然后,trunk和proj_branch_1都在开发,到了某一个版本,比如150,branch开发完成,需要merge回到trunk
此时的目录结构是
[Reversion:150]
proj/trunk
proj/branches/proj_branch_1
proj/tags
按照svn的实现,我需要知道proj_branch_1所做的所有的变化,也就是当前的状态对刚刚生成时候状态的变化。根据这个变化生成一个diff文件,在apply一个本地的工作区上。(建议是一个干净的本地trunk工作区)
那么执行
$cd proj/trunk
$svn merge proj/branches/proj_branch_1@101 proj/branches/proj_branch_1 .
其实,第一个URL(我们称之为左边),为起始状态,通过最后的@101,表示取版本101,这个101就是cp成功之后的那个版本。第二个URL(我们称之为右边),为最终状态,取最新的,
左边和右边做了一个diff,应用到当前工作区目录,也就是trunk。
此时
$svn st就可以看到变化了
这里的一个问题是如何获取这个cp之后的版本,也就是例子中的101
可以使用svn log里面的--stop-on-copy命令
$svn log --stop-on-copy proj/branches/proj_branch_1
会到cp的时候停下来,那里边标注的版本就是需要的版本
比如,这是一个真正项目的一个例子,
------------------------------------------------------------------------
r995 | yinweiming | 2007-10-24 09:07:08 +0800 (三, 24 10月 2007) | 1 line
Create a branch for proj client using
------------------------------------------------------------------------
其中的r995,995就是我需要的版本
(说明一下,commit时候写commet的好处,比如这里我就很明确的肯定这是branch的起始点)
对于svn merge的另外的用法也是类似,只要是明白了
他是根据左边,右边生成diff,然后应用到本地的一个工作区就容易理解了。
还有可以使用svn merge --dry-run来模拟假装merge一下,看一下merge会发生什么,而不是真正的做这个动作。
而对于merge的help里面的 3. merge [-c M | -r N:M] SOURCE[@REV] [WCPATH]
这个也很容易理解,就是取 SOURCE 这个东西,版本N,M之间的区别,作用在WCPATH这个本地工作区上
注意!
做branch千万别根据本地修改过的工作区做,一定基于某一个URL的版本做
我就吃过这个亏
diff的时候,diff不出来,因为基于本地工作区的,所以现在merge起来很是费劲
发表评论
-
如何安装chrome扩展,以json-handle为例
2015-06-24 20:03 15904作者:zccst chrome插件安装 方式一,在线安装 直 ... -
如何停掉无法响应被关闭的eclipse启动的tomcat
2015-06-11 16:10 8749作者:zccst 问: 我的eclipse启动了tomcat后 ... -
如何导入google-style-guide-javascript-eclipse.xml到eclipse里?
2015-06-02 20:16 3979作者:zccst 如何导入google-style-gui ... -
git代码管理原理
2015-03-11 18:48 10446作者:zccst SVN用得很熟 ... -
Git常用命令备忘[转载]
2015-03-10 20:01 870Git常用命令备忘[转载] Git配置 git config ... -
git命令使用(自己总结)
2015-02-12 16:37 1709作者:zccst 查看远程 ... -
献给网页开发者的20款Firefox插件
2014-11-26 18:54 1145作者:zccst 献给网页开发者的20款Firefox插件 ... -
打开MPP格式文件的十种方法
2014-09-28 18:03 7130zccst转载 Microsoft Project ... -
windows下查看端口占用情况
2014-08-20 18:51 780作者:zccst 1.查看所有的端口占用情况 C:\> ... -
windows下使用github上传下载文件和文件夹
2014-08-19 16:51 8052作者:zccst 1,下载客户端,安装 生成两个,一个是界 ... -
也开始使用高大上的在线SVN了
2014-07-18 19:17 1350作者:zccst 截至目前,我发现自己只是代码的搬运工,连 ... -
最近使用的几个开发利器
2014-07-02 10:39 1004作者:zccst 最近又学习到几个在开发过程中可以提高效率的 ... -
windows eclipse svn分支代码合并至主干的方法
2014-06-26 15:26 5851作者:zccst 之前一直是用Linux环境合并代码,现在 ... -
Editplus快捷键
2013-07-18 13:59 1667作者:zccst 2014-09-10 ... -
Editplus支持sql语法高亮显示
2013-07-18 13:30 1699作者:zccst (之前找到的这种方法不行:在editpl ... -
eclipse下安装svn插件
2013-07-16 18:08 1101作者:zccst SVN插件下载地址及更新地址,你根据需要选 ... -
linux文本模式下修改文件夹颜色
2013-07-08 18:30 3045作者:zccst 1.cp /etc/DIR_COLORS ... -
Word2007—如何快速提取文档中的图片
2013-05-29 17:16 1276如果你想提取一份word文档中图片,一张张的获取太麻烦了,有没 ... -
zend Studio 插件卸载
2013-04-10 20:10 3690zccst转载 由于7.0开始的eclipse中help菜单 ... -
secureCRT常用方法
2013-03-29 11:23 1008作者:zccst 1,上传和下载 最好加上参数 -be。即r ...
相关推荐
1. **版本控制概念**:理解SVN的基本概念,如版本、分支、标签、提交、回滚等,是使用SVNMerge的前提。 2. **合并操作**:SVNMerge的核心功能是合并代码,这涉及到从不同的分支或修订版中提取代码,并将它们整合到...
### SVN Merge 操作详解 #### 一、引言 Subversion (SVN) 是一个广泛使用的版本控制系统,用于管理软件开发中的源代码变更历史。在团队合作中,合并分支(merge)是一项非常重要的操作,它使得开发人员能够将某个...
文档中的`svn merge功能使用.docx`和`svn 冲突的产生与处理.docx`可能包含详细的步骤和截图,帮助读者更好地理解这些概念。`SVNConflictOverview.pdf`可能是一个更全面的冲突处理指南,涵盖了更复杂的场景和高级策略...
多分支开发,Merge是一个绕不过的话题,不管是Git还是SVN,公司用的是SVN,之前对于SVN的Merge没有很好的研究,出了些状况,这个问题不解决,顺畅地进行多分支开发就是海市蜃楼,下定决心把这块给完全搞透,在百度上...
为了更好地管理合并过程,可以使用 `svnmerge.py` 工具。这是一个用 Python 编写的 Subversion 插件,可以自动追踪合并记录。 - 安装 `svnmerge.py` 工具: ```shell $ sudo aptitude install subversion-tools ...
### Linux 下 SVN 的使用 #### 一、简介 Subversion(简称 SVN)是一种分布式版本控制系统,主要用于软件开发项目中管理源代码的历史版本。SVN 是 CVS 的替代品,在功能性和性能方面进行了改进,使得它成为了现代...
SVN(Subversion)是一个广泛使用的版本控制系统,它帮助开发者管理和维护不同版本的文件和代码库。在多人协同开发的项目中,版本控制显得尤为重要,但同时也可能会出现代码合并冲突的情况。当两个开发者对同一文件...
SVN,全称为Subversion,是一款广泛应用于软件开发领域的版本控制系统。...在提供的"SVN使用"压缩包文件中,可能包含了关于如何安装、配置、使用SVN的详细教程和示例,建议仔细学习以加深对SVN的理解和应用。
SVN 在 Linux 下的使用(svn 命令) SVN(Subversion)是一种版本控制系统,能够帮助开发者管理代码的变更和协作。SVN 命令是 SVN 的核心组件,提供了多种功能来管理代码库。下面我们将详细介绍 SVN 在 Linux 下的...
### SVN安装使用教程知识点梳理 #### 一、版本控制的重要性及背景 - **无版本控制的问题**: - **磁盘空间浪费**:每个开发者每天备份自己的代码,导致磁盘空间迅速消耗,且不易管理。 - **版本回溯困难**:需求...
6. **分支与合并**: SVN支持分支和合并操作,通过`svn copy`创建分支,然后在分支上开发,完成后再用`svn merge`合并回主分支。 **团队项目整合开发** 1. **版本管理**: SVN使得团队成员可以各自独立工作,通过...
将一个分支的更改合并到另一个分支,使用`svn merge`: ``` svn merge ^/other_branch . ``` 以上就是SVN中最常用的命令,它们涵盖了日常开发中的基本操作。通过熟练掌握这些命令,你可以高效地管理代码版本,...
你可以创建分支进行独立开发,然后通过`svn merge`命令将分支上的更改合并回主分支。 5. **解决冲突**:当多人同时修改同一文件时,可能会出现冲突。SVN会在发生冲突的文件中标记出冲突部分,需要手动解决并使用`...
`svn branch`用于创建分支,`svn merge`用于合并分支。标签(或快照)则是某个特定时间点的项目状态,常用于发布里程碑或稳定版本。`svn copy`可以创建标签,但通常不会对其进行修改,以保持其一致性。 此外,SVN...
9. **分支与合并**:使用`svn copy`创建分支,使用`svn merge`将分支合并回主干。 #### 五、SVN的优势 1. **简单易用**:SVN具有直观的命令行界面,易于学习和上手。 2. **稳定性高**:SVN经过多年的实践验证,...
删除文件或目录使用`svn delete`或`svn rm`,合并不同分支的更改使用`svn merge`,而`svn diff`则用于查看两个版本之间的差异。 在使用SVN时,可能会遇到权限验证,需要输入用户名和密码。此外,SVN还支持匿名访问...
### SVN使用教程详解 #### 一、SVN简介与安装 **SVN(Subversion)**是一种开源版本控制系统,主要用于管理文件和目录的历史版本。它能够帮助开发人员追踪每一个文件和目录的变化,并允许团队成员之间共享这些变化...