`

svn 冲突

    博客分类:
  • svn
 
阅读更多

转:

http://www.cnblogs.com/chengxiaohui/articles/2705073.html

 

之前都是在windows上操作SVN来着,转移到linux上之后出现冲突,后查了解决办法:

ZZ from:http://www.aixchina.net/club/thread-25902-1-1.html
这里,先说说冲突解决。

怎么会发生冲突呢?

两个人修改了不同文件?不会有冲突,他们不相关。

两个人同时修改了同一个文件的不同位置?不会有冲突,SVN很聪明。

两个人同时修改了同一个文件的相同位置?Bing!冲突来了。

工程师A修改了a.txt的第一行,提交了。

工程师B也修改了a.txt的第一行,然后执行svn up,这时SVN提示了:(以下,你开始扮演工程师B的角色了)
$ svn up
在 “a.txt” 中发现冲突。
选择: (p) 推迟,(df) 显示全部差异,(e) 编辑,
(mc) 我的版本, (tc) 他人的版本,
(s) 显示全部选项:

我一般选择p(推迟),即引入冲突到本地,不过不会影响到SVN服务器端,可以放心。

OK,开始解决冲突了。

这时,会生成几个文件:

a.txt 

 a.txt.mine  a.txt.r6328  a.txt.r6336

其中a.txt中包含了工程师A、B的所有修改,以<<<<<<<、=======、>>>>>>>分隔。

a.txt.mine是工程师B的修改,也就是未update前的a.txt。

a.txt.r6328 是工程师A提交前的版本,即未导致冲突的版本。

a.txt.r6336是工程师A提交后的版本,即导致冲突的版本。

一般,查看a.txt就可以看到冲突的详情了:

[yicheng@chengyi svntest]$ cat a.txt

<<<<<<< .mine

i also modify ,agndagnagasdg;

=======

i modify this line;

>>>>>>> .r6336

以上,<<<<<<< .mine和=======之间是工程师B(当前的“你”)修改的内容,=======与>>>>>>> .r6336之间是工程师A修改的内容。这时,最好的办法是,叫上工程师A,你们一起确定这些修改是否都需要,是否相互兼容,然后留下需要的部分,删 除<<<<<<< .mine、=======和>>>>>>> .r6336。

然后,测试,测试!确定没问题之后,就可以告诉SVN,你解决冲突了:

svn resolve –accept working a.txt (该命令会删除a.txt.mine  a.txt.r6328  a.txt.r6336)

svn ci -m ’some comment’ a.txt

这里需要注意的是,a.txt.mine  a.txt.r6328  a.txt.r6336这几个文件的存在代表着有冲突产生。如果不解决冲突,就手 工删除它们,SVN服务器也会很傻的认为你解决了冲突,允许你继续之后 的工作。但是,冲突依旧存在,你的a.txt中不但有别人的修改,还有那些讨厌的<=>符号。

在冲突未解决前,试图提交代码是肯定会失败的:

$ svn ci -m ”

svn: 提交失败(细节如下):

svn: 提交终止: “/path/to/svntest/a.txt” 处于冲突状态
 
转自:http://blog.sina.com.cn/s/blog_75991d43010157bz.html
分享到:
评论

相关推荐

    SVN冲突深度解析完整版

    SVN冲突深度解析完整版 在本篇文章中,我们将深入探讨SVN冲突的原因、解决方法和详细解释。我们将从svn提交时出现的错误信息开始,逐步剖析SVN的工作机制和锁定机制,从而解决SVN冲突问题。 首先,让我们来看一下...

    EclipseSVN冲突详细解决方案.docx

    EclipseSVN冲突解决方案 EclipseSVN冲突解决方案是指在使用Eclipse和SVN进行版本控制时,如何处理文件冲突的问题。文件冲突是指多个开发者同时修改同一个文件,导致文件内容不同步的情况。 在EclipseSVN中,文件...

    SVN冲突解决方案.docx

    SVN冲突解决方案 SVN(Subversion)是一种版本控制系统,用于管理软件开发过程中的源代码和文档。在多人协作开发项目时,SVN可以帮助团队成员之间进行协作和版本控制。但是,在使用SVN时,也会遇到冲突问题,本文将...

    SVN解决冲突(合并别人的修改)

    如果你已经手动解决了冲突,可以使用这个选项来告诉SVN冲突已经被解决。 5. (mf) mine-full - 接受整个文件的我方版本。忽略服务器上的更改。 6. (tf) theirs-full - 接受整个文件的对方版本。忽略你的本地更改。 ...

    SVN冲突解决办法.

    ### SVN冲突解决办法 在软件开发过程中,版本控制系统如Subversion (SVN) 是不可或缺的工具之一,它帮助团队管理代码版本、追踪更改历史并协同工作。然而,在多人协作环境中,冲突是不可避免的问题之一,尤其是在...

    解决SVN冲突,带图解

    本文将详细介绍如何解决SVN冲突,并通过图解帮助大家直观理解。 1. SVN冲突的产生 当两个或更多用户同时对同一个文件的同一部分进行修改,SVN无法确定哪个修改应该保留,就会标记这个文件为冲突状态。冲突通常会在...

    SVN冲突的处理

    然而,当多个开发者同时修改同一份文件时,就可能出现SVN冲突。冲突是版本控制中常见的问题,需要妥善处理才能保证代码的正确性和项目的顺利进行。 1. 重名文件的冲突处理: 当两个或多个开发者尝试添加同名文件到...

    SVN冲突解决

    【SVN冲突解决】是版本控制系统Subversion(SVN)在协作开发过程中常见的问题,当多个用户对同一份文件进行修改并尝试提交时,可能会出现冲突。这些冲突需要正确处理,以确保代码库的完整性和一致性。这篇博客文章...

    svn版本冲突解决

    SVN 版本冲突解决 版本冲突是指在多人协作开发中,多个用户同时更新同一个文件时,导致版本不一致的问题。Subversion(SVN)是版本控制系统,用于管理项目代码的修改和更新。版本冲突解决是指在 SVN 中解决冲突的...

    svn 合并、冲突及常用功能详解

    **svn冲突** 1. **冲突产生**: 当两个或更多用户修改了同一份文件的同一部分时,svn无法确定应保留哪个更改,就会产生冲突。 2. **冲突标记**: 有冲突的文件会被svn添加特殊的冲突标记,例如`, `=======`, `&gt;&gt;&gt;&gt;&gt;&gt;...

    SVN解决文件冲突conflict的方法_类文件冲突

    在使用版本控制系统如SVN...总之,SVN冲突的解决是一个需要谨慎处理的过程,它需要理解SVN的工作原理以及如何合并和管理代码更改。通过及时更新、手动合并和确认提交,团队成员可以有效地协作并避免不必要的冲突。

    关于svn冲突的解决方法

    但是,在多人协作的过程中,SVN冲突不可避免。解决SVN冲突是每个使用版本控制系统的开发者必须掌握的技能。 当SVN检测到版本之间的冲突时,会阻止这些更改的提交,并允许用户首先解决冲突。解决冲突的过程主要包括...

    SVN版本冲突问题解决

    SVN冲突处理解决方法 1.SVN冲突产生的原因 2. 解决冲突的方式 3.注意事项 不同版本的同一个位置出现了不同的东西

    开源版本控制SVN 树冲突、目录丢失问题及解决机制探讨

    **版本控制系统SVN详解与树冲突、目录丢失问题解析** 版本控制系统Subversion(简称SVN)是一种用于管理软件源代码的工具,它允许开发者在不同的时间点保存项目的状态,以便于回溯、合并和协作。当多人同时编辑同一...

    SVN安装包和使用

    4. **解决冲突**: 当多个人修改了同一文件时,SVN会标记冲突,需要手动编辑冲突文件,解决冲突后使用`svn resolved`命令告知SVN冲突已解决。 5. **查看状态和历史**: `svn status`(简写为`svn st`)显示工作副本的...

    SVN解决one or more files are in a conflicated state

    1. **理解SVN冲突**:SVN冲突是由于两个或多个用户对同一文件的同一部分进行了不同的修改,导致SVN无法确定哪个版本应该保留。当SVN检测到这种情况时,它会在冲突文件中插入特殊的标记来指示冲突的区域。 2. **查看...

    Tortoise SVN 版本冲突处理

    ### Tortoise SVN 版本冲突处理详解 在软件开发项目中,版本控制是不可或缺的一环,它帮助团队成员管理代码的变更,确保项目的稳定性和可追溯性。Tortoise SVN作为一款优秀的图形化Subversion(SVN)客户端,广泛...

    SVN版本冲突解决详解

    SVN 版本冲突解决详解 SVN 版本冲突是指在多个用户同时修改同一个文件时,可能会出现的冲突问题。下面将详细解释 SVN 版本冲突的原因、现象、解决方法和降低冲突解决的复杂度。 版本冲突原因: 在 SVN 中,当多个...

    SVN+Jad集成到MyEclipse

    这些库提供了与Subversion服务器通信的必要组件,使得MyEclipse能够支持版本控制操作,如添加、提交、更新和解决冲突。 SVNKit是SVN的一个纯Java实现,它允许MyEclipse在不依赖操作系统特定的JavaHL(JavaHL-...

    svn中文手册 PowerDesigner中文手册

    Subversion(svn)是一个开源的版本控制系统,它的主要功能包括版本追踪、冲突解决、分支和合并等。svn中文手册将详细解释如何安装、配置和使用这个系统,涵盖基本操作如`svn checkout`(检出)、`svn commit`(提交...

Global site tag (gtag.js) - Google Analytics