eclipse svn版本合并冲突解决

冲突情况的解决办法

冲突情况1:服务器代码和自己代码改动的地方相同

这种情况比较复杂,一般只能将自己的代码保存一份到本地,然后直接将服务器代码更新下来,然后在新的代码上修改自己的逻辑。就比如说你和上一个上传代码的人修改了同一个地方但是在他上传的时候你没有更新,导致你提交的时候发现你和他改动的地方为一样。

 ok不废话截图打个比方:


上面的例子应该能看懂左侧代码为自己的代码观察发现被自己注释掉了所以可以对比代码是否是最新,如果本地代码不是最新可以将右侧代码复制到右侧保存,最后右击冲突文件点击标记为合并即可。

注:以上只是打个比方还有其他冲突情况没有列举可以根据代码逻辑自行合并。


冲突情况2:服务器代码和自己代码改动的地方不同

这种情况比较常见,就是你跟别的开发者都在更改同一个文件,但是由于开发任务是分开的,所以更改的地方是不同的,解决办法如下。

1、双击冲突文件进入比较视图

2、找到服务器上新增的但本地没有的代码块,选中此代码块,点击右上角的按钮(如下图箭头指向的按钮)将服务器代码复制到本地(其他地方也同此操作),如果点击按钮没用,则关闭比较视图重新打开

复制成功后本地左侧代码为最新代码


保存后发现右侧新增代码消失。

3.如果显示有冲突(你没有改动过该代码哦将所有服务器上新增的代码复制到本地文件后,右键冲突文件选择标记为合并即可,此时该文件就会消失在Synchronize视图下,并且该文件的代码已经成功将本地代码和远程代码合并到一起.

冲突情况3: svn提交上次cleanup 中断后导致的死循环

错误如下:

 

解决方法:清空svn的队列

1.下载sqlite3.exe   

2.找到你项目的.svn文件,查看是否存在wc.db

3.将sqlite3.exe放到.svn的同级目录

4.启动cmd执行sqlite3 .svn/wc.db "select * from work_queue"

 

5.看到很多记录,下一步执行delete from work_queue

 

6.ok了,现在在到项目里面,执行cleanup,完全没问题了,图标状态也已经恢复了。

猜你喜欢

转载自blog.csdn.net/m0_37506254/article/details/80865405