假如DBAccessUtilsjava你在修改test方法,而你同事也在修改test方法,但是他先commit了,而你想commit的时候,commit不了,然后你不假思索就update下来了,然后就会出现4个文件分别为:
DBAccessUtilsjava、
DBAccessUtilsjavamine、
DBAccessUtilsjavar2129、
DBAccessUtilsjavar2130。
mine是你的修改的版本,里面是保存的你修改的内容
r2129是你做更新 *** 作以前的版本,你是在这个版本的基础上做的修改
r2130是版本库中的最新版本,这里有别人的修改,而就是这个修改和你的修改冲突了
DBAccessUtilsjava就是融合了你修改的内容和服务器最新的修改内容
二、说了那么多,现在说说怎么解决冲突吧:
我们打开DBAccessUtilsjava,你会看到由小于号、等于号和大于号串组成的三个部分,其中小于号和等号之间的内容是你的修改,而等号和大于号之间的修改是其他人的修改,在明确了冲突的原因之后,我们已经知道怎么修改了,两个人的修改都是需要保留的。
OK,那就保留所有的修改,删除掉<、=和>,最后就把冲突解决了。
注意:小于号、等于号和大于号串是冲突标记,并不是冲突的数据,你一定要确定这些内容在下次提交之前得到删除。
三、如何降低冲突解决的复杂度:
1、当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。
2、在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘
3、养成良好的使用习惯,使用SVN时每次都是先资源同步,看看有没有冲突,再做相应的提交或更新。
4、每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。很简单,先把文件拷贝到本地,然后右键点冲突的文件,找到svn中的还原,然后再把你本地刚刚拷贝的那个文件和svn上的文件对比,然后看你修改了那些地方,然后再svn上最新版本的基础上进行修改,然后提交。
如果你不想别人也修改你正在修改的文件,你可以在修改前直接锁定那个文件,直到你提交以后再解锁。这就不会冲突了如果不小心提交了一些动态改变根本不需要的文件到svn服务器上,出现冲突如何解决? 基本思路是首先使用svn resolved filename 放弃对文件的修改,然后就可以提交上去了。 然后svn rm testlog删除掉这个文件。然后再次提交,如果其他人更新的也右键项目 -> Team -> 与资源库同步
在同步视图中选择Conflicts Mode,以便首先查看解决冲突
双击需要解决的冲突文件,这里为Studentjava,右侧主显示区会出现比较视图。左侧为本地程序,右侧为svn上的最新代码原来字段名为email,本地将其改为emailAddress,线上代码显示有人将原来的email改为了phoneNumber并增加了属性teacher
选中右侧的两行,点击图标拷贝到本地,保存此时线上的代码都已经拿下来了,可以继续执行下一步。
右键冲突文件,选择“标记为合并”
点击Incoming Mode -> 右键项目 -> 更新(更新线上的其他无冲突的代码)
点击Outgoing Mode -> 右键项目 -> 提交。输入注释确定提交。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)