相信刚开始学习使用SVN的小伙伴在项目合作开发的过程中一定经常遇到一些影响到自己编写的代码的苦恼,我这里列举了几种常见的问题以及问题的解决方法:
1.误删除和误操作的问题
问题1:有A和B两个人一块合作写项目的时候,B在写代码的时候不小心更改了A写的代码文件的内容提交到了仓库,A该如何找回自己原来的代码呢?
解决方法:
右键点击被修改的文件---->点击TortoiseSVN选项----->点击Show log选项,会出现如图所示的窗口,
然后右键点击A的记录--->点击Revert to this revision选项---在弹出的对话框中选择Revert选项,当出现这个窗口中的内容时说明恢复成功了,可以打开看一下文件中内容是否恢复到之前的内容,很神奇吧。
问题2:B不小心删除了A写的代码文件,并且提交了,A该如何找回自己原来的代码文件呢?
解决方法:
右键点击A用户check out下来的项目文件夹(如上图)--->点击TortoiseSVN选项----->点击Show log选项,然后找到日志中B为进行删除操作之前的代码文件,复制出来,重命名后再次提交项目就可以了。如图:
2.多个用户同时修改一个从仓库中update下来的最新的文件后,晚提交的用户提交不通过的问题:
问题1:(A和B两个用户修改的内容的位置不一致)A和B两个用户都对同一个从仓库中刚update下来的文件进行修改后,B先进行了提交,A提交的时候出现错误,A应该怎样处理呢?(后提交的用户会出现这种错误截图)
错误截图:
最终文件中的内容是SVN自动将两个用户修改的内容合并了(SVN自动合并的情况要满足:两个用户修改的内容的行数不冲突)。如图:
解决方法:A用户找到B用户共同协商怎么处理两个人修改的代码。
问题2:(A和B两个用户修改的内容的位置相同(对同一行的内容进行了修改操作))A和B两个用户都对同一个从仓库中刚update下来的文件进行修改后,B先进行了提交,A提交的时候出现错误,A应该怎样处理呢?(后提交的用户会出现这种错误截图)
错误截图:
多出的三个文件如图:
多出的三个文件的解释(从上往下):
第一个:
第二个:(我(A)想提交的代码)
第三个:
第四个:
解决方法:
根据上边的三个版本的代码,A就应该知道怎么修改代码进行提交了,先恢复到现在服务器中最新版本的代码文件,如图:
再跟B进行讨论到底怎么处理修改的代码。
问题3:如果A和B冲突的代码太多的时候,A该怎么处理呢?
当遇到如图这种情况的时候:
解决方法 :
就不要进行更新了,而应该选择Cancel这一项(因为明明知道有冲突就不要给自己找麻烦了),将自己修改后的代码文件copy一份到别的地方,然后再重命名后复制到原来的文件夹下面,
进行比对就可以找出你修改后的内容跟服务器中的代码的不同之处,然后就可以找B进行讨论,共同修改了。