`
q_chaochao
  • 浏览: 23113 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

svn冲突解决办法

svn 
阅读更多

版本冲突原因:

假设AB两个用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后提交kingtuns.txt到服务器,这个时候提交成功,这个时候kingtuns.txt文件的版本号已经变成101了。同时B用户在版本号为100kingtuns.txt文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的101版本上作的修改,所以导致提交失败。

版本冲突现象:

冲突发生时,subversion会在当前工作目录中保存所有的目标文件版本[上次更新版本、当前获取的版本(即别人提交的版本)、自己更新的版本、目标文件]

假设文件名是kingtuns.txt

对应的文件名分别是:

kingtuns.txt.r101

kingtuns.txt.r102

kingtuns.txt.mine

kingtuns.txt。同时在目标文件中标记来自不同用户的更改。

版本冲突解决:

场景:

1、现在AB两个用户都更新kingtuns.txt文件到本地。

1

2、文档中原始文件内容如下:

2

 

3A用户修改文件,添加内容“A用户修改内容”完成后提交到服务器

3

4

 

 

4B用户修改文件,添加内容“B用户修改内容”完成后提交到服务器

5

 

B用户提交更新至服务器时提示如下:

6

 

B用户将文件提交至服务器时,提示版本过期:首先应该从版本库更新版本,然后去解决冲突,冲突解决后要执行svn resolved(解决),然后在签入到版本库。在冲突解决之后,需要使用svn resolved(解决)来告诉subversion冲突解决,这样才能提交更新。

解决冲突有三种选择:

A、放弃自己的更新,使用svn revert(回滚),然后提交。在这种方式下不需要使用svn resolved(解决)

B、放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行resolved filename并提交(选择文件右键解决)

C、手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行resolved filename来解除冲突,最后提交。

解决步骤如下:

1、 在当前目录下执行“update”(更新)操作

 

7

2、 在冲突的文件上(选中文件--右键菜单—TortoiseSVN—Edit conflicts(解决冲突)),出现如下窗口

 

Theirs窗口为服务器上当前最新版本

Mine窗口为本地修改后的版本

Merged窗口为合并后的文件内容显示

8

3、 如果要使用服务器版本,在Theirs窗口选中差异内容,右键,选择Use this text block(使用这段文本块)。

同理如果要使用本地版本,在协商后,在Mine窗口右键,选择Use this text block(使用这段文本块)。

 

9

4、 修改完成后,保存kingtuns.txt文件内容。

5、 B用户的冲突目录下,选中文件--右键菜单—TortoiseSVN—Resolved(解决)。会列出冲突的文件列表,如果确认已经解决,点OK

10

 

6、 冲突解决

 

11

7、提交解决冲突后的文件。

 

12

如何降低冲突解决的复杂度:

1、当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。

2、在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘

3、养成良好的使用习惯,使用SVN时每次都是先提交,后更新。每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。

0
0
分享到:
评论

相关推荐

    SVN冲突解决办法.

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

    linux编译kernel和svn版本冲突的解决办法

    总结来说,解决Linux内核编译与SVN版本冲突的关键在于识别那些依赖SVN版本信息的Makefile规则,并确保在编译时这些信息不会干扰到路径处理。通过清空`SVN_REV`变量,可以避免因SVN版本导致的编译错误。对于其他可能...

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

    解决办法:用户B update file1.txt**: - 用户B首先需要更新他的工作副本,以获取用户A的最新更改。执行`svn update file1.txt`命令将下载服务器上的最新版本,并在本地显示冲突标记。 **5. 用户A commit 成功.txt...

    myeclipse svn 详细操作手册与版本冲突解决办法

    ### MyEclipse SVN 详细操作手册与版本冲突解决办法 #### MyEclipse SVN 常用功能介绍 MyEclipse 是一款集成了多种插件的Java集成开发环境(IDE),其中包括了Subversion (SVN) 版本控制系统的支持。本文档主要介绍...

    SVN项目文档管理方案1024.docx

    10. **日常管理规范** - 日常管理包括定期检查版本冲突,及时解决,以及确保所有修改都符合版本控制策略。 11. **文件服务器备份** - 定期备份SVN仓库至其他存储介质,以备不时之需,保证数据安全。 12. **远程...

    SVN时,出现Failed to run the WC DB work queue的解决办法

    在使用Subversion(SVN)版本控制系统的过程中,有时会遇到“Failed to run the WC DB work queue”的...通过理解SVN的工作原理和SQLite3的基础知识,你可以更有效地解决这些问题,保证日常的版本控制工作顺利进行。

    官网最新svn1.6.6

    熟悉常见的错误代码和解决办法,可以快速定位并解决问题。 总之,"Apache2.2+svn1.6.6 在windows环境安装配置版本控制的环境"是一个涉及多环节的流程,需要对SVN、Apache以及版本控制原理有深入理解。通过正确的...

    svn的一些常见问题

    **解决办法**: - 首先确认目标目录是否已经通过`svn checkout`或`svn export`正确地初始化。 - 如果不是工作副本,需要重新执行`svn checkout`来创建一个新的工作副本。 - 如果是由于文件或目录损坏导致的错误,...

    SVN进行程序同步时候,跳转到team synchroniozing窗口的解决办法.docx

    通过这种方式,SVN确保了团队成员间的代码一致性,同时提供了冲突解决机制。 总之,如果你在使用SVN时遇到自动跳转到“Team Synchronizing”窗口的问题,检查并修改IDE的同步设置是解决问题的关键。调整设置后,你...

    eclipse配置svn方法

    #### 五、冲突情况的解决办法 **冲突情况1**:当服务器代码和本地代码在同一位置进行了修改时,解决方法是先保存本地代码,再下载最新的服务器代码,手动整合两者的差异。 **冲突情况2**:当服务器代码和本地代码...

    PHPStorm中SVN因目录中含有空格,不允许update等操作.zip

    解决办法:Settings-SVN-Enable interactive mode不要打勾即可.png"提示了一个解决方案,即在PHPStorm的设置中,取消对SVN“Enable interactive mode”的勾选。这样可以避免因命令行交互导致的问题。不过,禁用交互...

    eclipse svn 插件

    5. **遇到的问题及解决办法**: - **SSL证书问题**:如果SVN仓库使用了HTTPS,可能需要导入服务器的SSL证书到Eclipse的信任库。 - **权限问题**:确保你的账户具有足够的权限来执行SVN操作,如提交或更新。 - **...

    svn 清理失败 (cleanup 失败) 的快速解决方法

    在svn中,cleanup命令主要用于清理工作副本,解决文件锁定、解决更新冲突等问题。当你的工作副本出现异常,如文件被占用、临时文件未删除或者有未解决的冲突时,执行cleanup可以帮助恢复正常状态。 当遇到cleanup...

    eclipseSVN插件

    现在,你已经成功安装了Eclipse SVN插件,可以在项目右键菜单中看到与SVN相关的选项,如"Team" -> "Share Project"来将项目关联到SVN仓库,"Team" -> "Synchronize with Repository"来查看和解决冲突,以及"Team" ->...

    svn插件,使用link方式安装的压缩包

    4. 遇到的问题及解决办法: - **权限问题**:如果在执行命令时遇到权限错误,可以尝试用`sudo`提升权限或者改变文件和目录的权限。 - **依赖问题**:某些插件可能依赖于其他库或工具,确保系统已安装所有必要的...

    Eclipse安装和使用SVN.pdf

    冲突情况的解决办法: - 服务器代码和本地代码改动的地方相同:通常需要保存一份本地代码,然后直接将服务器代码更新下来,之后在新的代码上修改自己的逻辑。 - 服务器代码和本地代码改动的地方不同:这种情况下,...

    linux下svn的安装

    在Linux系统中,Subversion(简称SVN)是一种流行的版本控制系统,用于管理和...如果你遇到任何困难,查阅文档、搜索在线资源或参与技术社区讨论都是很好的解决办法。在不断尝试中,你会逐渐掌握这些技术并成为专家。

    svn软件说明

    首先,SVN的核心功能包括版本追踪、冲突解决和权限管理。版本追踪使每个开发人员可以独立工作,同时记录每次更改,以便于回溯和合并。冲突解决机制则在多个人修改同一部分代码时,帮助团队成员协调并合并各自的工作...

    SVN检出文件方法说明

    通过上述步骤,我们不仅了解了如何使用TortoiseSVN工具完成文件的检出操作,还掌握了整个过程中的注意事项以及可能遇到的问题及其解决办法。熟练掌握这些技能对于提高工作效率、保障项目顺利进行具有重要意义。

Global site tag (gtag.js) - Google Analytics