svn提交冲突解决方案
来源:互联网 发布:百度云盘数据丢失 编辑:程序博客网 时间:2024/05/22 08:02
版本冲突原因:
假设A、B两个用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后提交kingtuns.txt到服务器,这个时候提交成功,这个时候kingtuns.txt文件的版本号已经变成101了。同时B用户在版本号为100的kingtuns.txt文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的101版本上作的修改,所以导致提交失败。
版本冲突现象:
冲突发生时,subversion会在当前工作目录中保存所有的目标文件版本[上次更新版本、当前获取的版本(即别人提交的版本)、自己更新的版本、目标文件]。
假设文件名是kingtuns.txt
对应的文件名分别是:
kingtuns.txt.r101
kingtuns.txt.r102
kingtuns.txt.mine
kingtuns.txt。同时在目标文件中标记来自不同用户的更改。
版本冲突解决:
场景:
1、现在A、B两个用户都更新kingtuns.txt文件到本地。
2、文档中原始文件内容如下:
3、A用户修改文件,添加内容“A用户修改内容”完成后提交到服务器
4、B用户修改文件,添加内容“B用户修改内容”完成后提交到服务器
B用户提交更新至服务器时提示如下:
B用户将文件提交至服务器时,提示版本过期:首先应该从版本库更新版本,然后去解决冲突,冲突解决后要执行svnresolved(解决),然后在签入到版本库。在冲突解决之后,需要使用svn
解决冲突有三种选择:
A、放弃自己的更新,使用svn
B、放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行resolved filename并提交(选择文件—右键—解决)。
C、手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行resolvedfilename来解除冲突,最后提交。
解决步骤如下:
1、
2、
Theirs窗口为服务器上当前最新版本
Mine窗口为本地修改后的版本
Merged窗口为合并后的文件内容显示
3、
同理如果要使用本地版本,在协商后,在Mine窗口右键,选择Use this text block(使用这段文本块)。
4、
5、
6、
7、提交解决冲突后的文件。
如何降低冲突解决的复杂度:
1、当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。
2、在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘
3、养成良好的使用习惯,使用SVN时每次都是先提交,后更新。每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。
- svn提交冲突解决方案
- SVN -提交冲突解决方案
- Android Studio-SVN代码下载,提交,冲突解决方案
- Android Studio-SVN代码下载,提交,冲突解决方案
- SVN提交版本冲突
- svn 提交冲突操作
- svn提交冲突
- SVN提交项目冲突
- SVN版本冲突解决方案
- svn - 冲突及解决方案
- SVN冲突解决方案
- svn冲突解决方案
- SVN提交文件冲突解决办法
- svn提交遇到冲突解决方法
- Eclipse SVN冲突详细解决方案
- SVN-文件过期、冲突解决方案
- SVN-文件过期、冲突解决方案
- Eclipse SVN冲突详细解决方案
- 记录程序人生的成长点滴-前言
- 【thinkphp3.x】ThinkPHP/Lib/Core/App.class.php文件分析
- 给盒子的贺文
- Android 强制设置横屏或竖屏 设置全屏
- 2-sat(2011年成都现场赛)
- svn提交冲突解决方案
- 终极优化你的游戏 —— 使用脏矩形技术
- JAVA web项目新建自动文件
- Resource is out of sync with the file system解决办法
- Dom4J解析XML
- 有关数据库链接池的面试题
- 读写各种文件
- 漾七夕
- JDBC解决中文乱码问题