转载:http://blog.sina.com.cn/s/blog_65fd4c1e0100h2cg.html

1、  如何产生冲突

当开发人员A和开发人员B从版本库同时检出文档1.txt,而A和B同时修改了1.txt的同一地方,后提交的一方会在拷贝副本中产生冲突。

两个工作拷贝,A拷贝中文件1.txt内容为

dfqerq
123dfwre

B拷贝中文件1.txt内容为

dfqerq
123erwrq

在B版本提交之前版本库上的1.txt(base版本)内容为

dfqerq

B拷贝先提交版本到版本库中,以至于最新版本内容变为

dfqerq
123erwrq

此时A版本也提交则会产生冲突,无法提交,需要先svn
update,此时会在A拷贝中产生三个临时文件1.txt.rNew\1.txt.rOld\1.txt.mine,其中1.txt.rNew是最新版本,1.txt.rOld是base版本,1.txt.mine是A作者修改后的版本,在此例中内容为

dfqerq
123dfwre

而update之后A拷贝中的1.txt内容为

<<<<<<<
.mine
dfqerq
123dfwre=======
dfqerq
123erwrq>>>>>>>
.r18

其中<<<<<<<
.mine与=======之间表示A修改后的内容,=======与>>>>>>>
.r18之间是版本服务器上的版本

2、解决冲突

第一种,利用update的选项进行冲突解决,也就是说不管当前拷贝副本是否是最新版本,都使用—accept参数作为冲突处理方式

--accept
ARG            
: specify automatic conflict resolution action
                           
('postpone', 'base', 'mine-conflict',
                            
'theirs-conflict', 'mine-full', 'theirs-full',
                            
'edit', 'launch')

(p) 
postpone    -
mark the conflict to be resolved later //让文件在更新完成之后保持冲突状态。
(df) diff-full   - show all
changes made to merged file //使用标准区别格式显示base修订版本和冲突文件本身的区别。
(e) 
edit       
- change merged file in an editor
//用你喜欢的编辑器打开冲突的文件,编辑器是环境变量EDITOR设置的。
(r) 
resolved    -
accept merged version of file
//完成文件编辑之后,通知svn你已经解决了文件的冲突,它必须接受当前的内容—从本质上讲就是你已经“解决了”冲突。
(mf) mine-full   - accept my
version of entire file (ignore their
change//丢弃新从服务器接收的变更,并只使用你查看文件的本地修改。
(tf) theirs-full - accept their version of entire file (lose my
changes)//丢弃你对查看文件的本地修改,只使用从服务器新接收的变更。
(l) 
launch     
- launch external tool to resolve
conflict//启动一个外置程序来执行冲突解决,这需要一些预先的准备。
(h) 
help       
- show this list //显示所有在冲突解决时可能使用的命令。

第二种,在update时并不处理冲突,利用svn resolve解决冲突

1、利用svn resolve --accept
base选择base版本,即1.txt.rOld作为最后提交的版本

--accept
ARG            
: specify automatic conflict resolution source
                          
('base', 'working', 'mine-conflict',
                           
'theirs-conflict', 'mine-full', 'theirs-full')

2、手工修改1.txt文件,然后将当前拷贝即1.txt作为最后提交的版本

svn resolve --accept working 1.txt

3、svn resolve --accept theirs-full 1.txt
使用1.txt.rNew作为最后提交的版本

4、svn resolve --accept mine-full 1.txt
使用1.txt.mine作为最后提交的版本

5、svn resolve --accept mine-conflict 1.txt
使用1.txt.mine的冲突部分作为最后提交的版本

5、svn resolve --accept theirs-conflict 1.txt
使用1.txt.rNew的冲突部分作为最后提交的版本

第三种,使用svn revert取消变更

svn 冲突的更多相关文章

  1. SVN冲突

    svn冲突,导致工程打不开,报错:xxx..xcodeproj  cannot be opened because the project file cannot be parsed. 解决方法:   ...

  2. 项目优化经验分享(六)SVN冲突和处理

    上一篇博客我们分享了新增需求的确定思想<站在全局看问题>.今天我们来分享项目开发中SVN冲突的解决经验:SVN冲突和处理! 引言 开发过项目的人都知道,公司开发一个项目都会使用到版本号控制 ...

  3. svn冲突文件解决方法

    svn冲突文件解决方法 工具/原料 svn客户端 方法/步骤 1 通过SVN客户端更新需要的文件,如果出现有感叹号的文件,找到出现感叹号的文件. 2 选择感叹号文件,即冲突文件,单击鼠标右键对冲突文件 ...

  4. 【转】svn冲突问题详解 SVN版本冲突解决详解

    (摘自西西软件园,原文链接http://www.cr173.com/html/46224_1.html) 解决版本冲突的命令.在冲突解决之后,需要使用svnresolved来告诉subversion冲 ...

  5. svn冲突的解决

    svn文件冲突的解决 冲突后,会产生三个多余的文件. ①文件名.扩展名.mine 这是你的文件,在你更新你的工作副本之前存在于你的工作副本中--也就是说,没有冲突标志.这个文件 除了你的最新修改外没有 ...

  6. eclipse svn 冲突解决

    eclipse svn 冲突解决

  7. tortoise svn冲突解决

    Tortoiese svn 冲突解决 当文件被别人修改并提交到SVN服务器后,如果自己本地的文件没有被更新为最新的版本,而且已经做了修改,这时候提交将会被成功,系统会提示你的版本已经过期,并要求你先进 ...

  8. Tortoise svn 冲突解决主要办法

    Tortoise svn 冲突解决主要办法 1.先备份自己的修改文件后,然后revert自己的更新内容,然后提交,再以更新后的代码为基准,将备份的代码移入进来.在这种方式下不需要使用svn resol ...

  9. svn冲突问题详解 SVN版本冲突解决详解

    svn冲突问题详解 SVN版本冲突解决详解 (摘自西西软件园,原文链接http://www.cr173.com/html/46224_1.html) 解决版本冲突的命令.在冲突解决之后,需要使用svn ...

  10. SVN学习总结(2)——SVN冲突解决

    在我们用VS进行项目合作开发的过程中,SVN的提交控制是至关重要的,大家不可避免的都遇到过SVN冲突的问题,开发的时候,应该认真学习SVN的知识,减少冲突,集中时间放在开发上. 解决冲突有三种方式: ...

随机推荐

  1. IT行业经典面试技巧及方法思路。

    问题1:为什么从上家公司离职?”能说说原因吗? 首先,作为一个从事招聘的HR,并不认为追问面试者为什么从上一家公司离职是个明智的做法起码不应该在面试一开始就抛出这个问题,一个较为明显的原因是因为这会引 ...

  2. 主机名/etc/hosts文件的作用

    1,/etc/hosts,主机名ip配置文件. # Do not remove the following line, or various programs # that require netwo ...

  3. 使用CEPH RGW admin ops API 进行用户user AK/SK管理的秘诀

    需求: 云平台面板上需要支持为不同的用户创建不同的RGW 的AK/SK用户秘钥,以完成对象存储的用户隔离,并可以管理bucket和查看bucket容量信息. 分析:查阅CEPH官网文档 S3 API  ...

  4. 如何提交代码到CEPH Repo。 顺便庆祝下,提交了第一个ceph pull request。实现了从0到1的突破

    庆祝一下!经过社区老司机的带路,昨天提交了第一个ceph pull request.实现了从0到1的突破,希望再接再厉提交更多代码到社区,为社区发展贡献一点自己力量. 提交的第一个被社区fix的bug ...

  5. redis关闭保护模式

    1. set key出现的报错 在192.168.56.57客户端登录192.168.56.56的redis服务器时,报错如下: [root@localhost src]# ./redis-cli - ...

  6. android4.0 锁屏实现(转)

    转载请表明出处:http://blog.csdn.net/wdaming1986/article/details/8837023 好了,言归正传,说说锁屏了,其实把锁屏做成apk的形式,会引起很多问题 ...

  7. Django Suit v2-dev 使用

    转:链接:https://www.jianshu.com/p/84fa8219fb48 官方文档: 链接 Git: 链接 install Django Suit 为了适配 Django 有许多不同的版 ...

  8. ref:ThinkPHP Builder.php SQL注入漏洞(<= 3.2.3)

    ThinkPHP Builder.php SQL注入漏洞(<= 3.2.3) ref:https://www.jianshu.com/p/18d06277161e TimeSHU 2018.04 ...

  9. 洛谷P1404 平均数 [01分数规划,二分答案]

    题目传送门 平均数 题目描述 给一个长度为n的数列,我们需要找出该数列的一个子串,使得子串平均数最大化,并且子串长度>=m. 输入输出格式 输入格式: N+1行, 第一行两个整数n和m 接下来n ...

  10. vue页面开发遇到的坑,都是泪!src属性,freemarker取值

    总结下今天做的看图识别药材名的功能所遇到的问题以及解决措施. 效果图如下 对应的连接 http://www.xinghengedu.com/getTenActivityQuestions.jspx 可 ...