[SVN] 分支同步、合入主干操作分享
冲突的解决原则
不是自己修改的地方就使用主干的。
需要特别注意的是:
分支同步主干时,远端(theirs)是主干,本地(mine/working)的是分支;
分支合入主干时,本地(mine/working)的是主干,远端(theirs)是分支。
二进制文件的冲突解决
对于*.jar *.png 等二进制文件的冲突,如果这些文件与你的业务开发是无关的,直接右键"Resolve"即可。
汉字注释中的"真假李逵"
在执行merge后,会发现代码中有些汉字注释有提示改动了,但内容却仍是一模一样的情况。见图1。
图1. 汉字注释"真假"
出现这种情况的原因是在写汉字注释时不是使用的统一的编码(如:utf-8),就会出现看起来一模一样的注释内容,但SVN仍却显示有改动的提示。这种情况有可能导致编译失败。经查,图4中左边使用的是"utf-8"编码,但右边却使用"gbk"编码。出现这种情况时得及时统一文件编码。
*.prej冲突的解决
该冲突的产生原因未明,解决方法是直接删除该文件即可。
冲突的解决范围
由于手Q是多个工程联合编译的,这里首先要认识一下根目录的概念。
根目录是指能全编App的目录。
进行分支的同步与合入主干时,所有的merge操作都是针对根目录进行操作的。但这两个操作的步骤需要解决冲突的范围是不一样的。
分支同步主干时,解决冲突的范围是根目录下的所有文件及文件夹,然后进行提交。
分支合入主干时,解决冲突的范围一般只需要是主App下面的文件及文件夹。如若其它Library App与你自己开发的业务相关,只要是经过自己修改的,那也在解决冲突的范围内,不在自己业务范围内则不用处理了,节省时间吧。
非常非常重要:冲突解决后的代码复审
分支合入主干后,最头疼的情况是什么?是发现刚合入的代码冲掉了主干原本的代码或把主干已经删除的代码又恢复了,这种情况一发生,那就只能是代码回滚,再来操作一次分支合入。要哭死了!
避免这个失误的出现,只有小心为上,可以这么做。
解决冲突时深入一个一个文件夹逐一解决,解决完每一个文件夹里的所有冲突时,右键该文件夹,点击"SVN Commit",然后逐一查看列出来的被修改的代码文件。一旦发现SVN的比较结果中有出现前后版本差异,但内容却不是自己所开发的业务需要的,此时要慎重再慎重,确认再确认,这种情况一般都是解决冲突时版本管理出错了。需Revert重新解决该文件的冲突。
本文为Sodino所有,转载请注明出处:http://blog.csdn.net/sodino/article/details/17126905
分支合入主干流程
嗯..没图说不清,见下图2吧。
图2. 分支合入主干时序图
图中标题Branch表示分支代码库,checkout版本号为ver.m的代码至本地新建的文件夹branch.working。然后再merge主干代码Ver.A至branch.working,解决完冲突后提交至分支生成新版本ver.n。第一步完成。
第二步首先checkout主干代码Ver.A至本地新建文件夹trunk.working,使用merge操作将分支ver.n合入trunk.working,第二步完成。标识此时trunk.working的临时版本号为Ver.An。。
如果在完成前两步的过程中主干有同学提交了新代码,则需要update至最新代码并解决冲突,这样trunk.working版本为Ver.AnC,解冲突后提交至主干。至此,合入操作完成。
[SVN] 分支同步、合入主干操作分享的更多相关文章
- svn 分支整个项目合并主干
1.首先主干要更新最新版本. 2.找到主干(trunk)点击右键--合并--合并类型选择(合并一个版本范围)点击下一步--合并源选择整个分支项目--将要合并的修改版本范围(选择指定(a)范围)点击下一 ...
- Eclipse 中svn 分支,主干 合并与同步:
Eclipse 中svn的合并与同步: 1. 从主干拉取到分支: 然后一直下一步,到完成就OK了. 2. 从分支代码合并到主干: 2.1.先将本地需要提交更新的代码提交更新到svn分支去 2.2. ...
- SVN分支/主干Merge操作小记
一.前言 说来惭愧,鄙人从事开发多年,使用svn已经好几个年头了,但是却仅限于update.commit.compare之类的操作,最近想到github上学习别人写的NIO源码,顺便去熟悉git的使用 ...
- eclipse svn 分支合并到主干
最近公司产品上线,整个系统架构包含有七八个子系统,并且子系统都是集群部署.所以每次升级维护都要确保尽可能不出问题.因为整个系统刚上线不久,意味着新系统不定期有BUG需修复,但新功能模块也在持续的开发中 ...
- eclipse中SVN分支合并到主干
在项目开发中,需要添加一些新的功能,但是又不想影响到其他开发人员的项目进度,所以决定使用SVN分支进行开发,分支开发完毕后再合并到主干.本文介绍如何在eclipse中合并分支到主干. 1. 要想将分支 ...
- 图文:eclipse中SVN分支合并到主干
在项目开发中,需要添加一些新的功能,但是又不想影响到其他开发人员的项目进度,所以决定使用SVN分支进行开发,分支开发完毕后再合并到主干.本文介绍如何在eclipse中合并分支到主干. 1. 要想将分支 ...
- SVN分支/合并操作小记
一.前言 说来惭愧,鄙人从事开发多年,使用svn已经好几个年头了,但是却仅限于update.commit.compare之类的操作,最近想到github上学习别人写的NIO源码,顺便去熟悉git的使用 ...
- SVN分支的创建,合并,与销毁和相关操作
test是分支和主干所在的文件夹,SVNTest是主干,所有的分支都放在branch里面,192.168.1.101是服务器的地址 创建分支: 把服务器中的主干复制出来到自己的分支上: svn cop ...
- 操作实践,git本地分支执行rebase,让主干分支记录更简洁
声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 我们平时在写代码的时候,难免会修修改改,如果团队中每个人的代码提交记录都包含着一堆中间过程,是很不利于团队 ...
随机推荐
- memcache 在php存取中的应用
当用户刷新网页或有大量用户访问网站时,就会产生大量数据库查询进程,这不但拖慢了网页打开速度,同时也给服务器带来了很大压力. 作为php菜鸟,今天刚刚接触到了 memcache 这个东东,于是自己跟着文 ...
- USACO Wormholes 【DFS】
描述 农夫约翰爱好在周末进行高能物理实验的结果却适得其反,导致N个虫洞在农场上(2<=N<=12,n是偶数),每个在农场二维地图的一个不同点. 根据他的计算,约翰知道他的虫洞将形成 N/2 ...
- oschina 开发工具
开发工具 29反编译工具 26持续集成系统 19SQL注入工具 139Git开源工具 138Java开发工具 43.NET开发工具 85PHP开发工具 96C/C++开发工具 70Ruby/Rails ...
- python学习笔记——第三章 串
第三章 字符串学习 1.字符串不灵活, 它不能被分割符值 >>> format = "hello, %s. %s enough for ya?" >> ...
- Android的BUG(四) - Android app的卡死问题
做android,免不了要去运行一些跑分程序,常用的跑分程序有quadrant(象限),nbench,安兔兔等.作为系统工程师,对这些跑分 程序都非常的不屑,这个只能是一个不客观的参考,但客户都喜欢拿 ...
- linux 内核代码精简
#为了提高性能,文件系统一般都是以 relatime形式挂载进来的,见:/etc/fstab #更新一下mtime,这样,编译过程中用到的文件的atime都会被更新 find . -exec touc ...
- [leetcode] Reverse Linked List 分类: leetcode 算法 2015-07-09 18:44 2人阅读 评论(0) 收藏
反转链表:比较简单的问题,可以遍历也可以递归. # Definition for singly-linked list. class ListNode: def __init__(self, x): ...
- Java 判断多级路径是否存在,不存在就创建
第一种方案: /** * 是否创建目录 * @param path * @return */ public boolean isexitsPath(String path)throws Interru ...
- C-KMP
一.BF算法 --传统算法 BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符:若不相等,则比较S的 ...
- git gitk命令
通过gitk命令,在单独的界面上查看项目源码在各个时间点上的代码提交情况. 各个commit 各个tag ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` 更多详细的介绍 ...