在我们用VS进行项目合作开发的过程中,SVN的提交控制是至关重要的,大家不可避免的都遇到过SVN冲突的问题,开发的时候,应该认真学习SVN的知识,减少冲突,集中时间放在开发上。
解决冲突有三种方式:
A、放弃自己的更新,使用svn revert(回滚),然后提交。在这种方式下不需要使用svn resolved(解决)
B、放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行resolved filename并提交(选择文件—右键—解决)。
C、手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行resolved filename来解除冲突,最后提交。
具体步骤如下:
1、在当前目录下执行“update”(更新)操作
2、在冲突的文件上(选中文件--右键菜单—TortoiseSVN—Edit conflicts(解决冲突))
也可在VS中冲突的文件上(右击--编辑冲突)
出现如下窗口
Theirs窗口为服务器上当前最新版本
Mine窗口为本地修改后的版本
Merged窗口为合并后的文件内容显示
3、如果要使用服务器版本,在Theirs窗口选中差异内容,右键,选择Use this text block(使用这段文本块)。同理如果要使用本地版本,在协商后,在Mine窗口右键,选择Use this text block(使用这段文本块)。
4.修改完成后,保存文件内容。
5.本地用户在冲突目录下,选中文件--右键菜单—TortoiseSVN—Resolved(解决)。会列出冲突的文件列表, 如果确认已经解决,点OK。
6.提交解决冲突后的文件;
SVN注意事项:
如果自己所负责的代码分涉及到其他人了,禁止私自修改
1.先更新再提交。
2.提交的时候以“姓名—修改内容”格式进行
3.只提交自己修改的类,勿提交整个解决方案
4.调试完毕之后,只有运行无错误、生成无错误才可提交!
5.尽量做到多提交(保留自己每一步变化的版本控制)
6.开发的时候最好还是有一个SVN的负责人来管理,维护好代码,提高开发的进度。