SVN冲突解决方法

SVN冲突解决方法

    遇到种情况,首先,你要冷静

 我们来分析一下产生冲突额原因!(模拟一下)

我们将一个名为CODE.txt的文件上传到svn服务中,内容如下:

 

然后你的小伙伴check out下来改成了:

“hello world! 今天是21号” 

接着就commit(svn上的最新版本就是这个了)

接着,你又check out下来改成了:

“hello world! 今天是22号” 

当你commit的时候,就----------

冷静

你打开原来的原文件夹会发现

 

解释一下

CODE.txt:(经过处理后的合并版本)

<<<<<<< .mine
hello world! 今天是22号=======
hello world! 今天是21号>>>>>>> .r2

CODE.txt.mine:(本地版本)--也就是知己的版本

CODE.txt.r1:(版本一中的内容)

CODE.txt.r2:(版本二中的内容)

 

这个时候,你就要和你的队友协商,到底使用哪个版本(也就是今天到底是几号?)

当协商确定之后。

解决方法一:

1.CODE.txt中保留需要的代码,其余的删掉。

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

3.最后重新提交

解决方法二:

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

 

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

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

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

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

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

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

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

5.最后重新提交