svn中update冲突和commit冲突区别,求详细解释下吧,顺便带小列子吧!!谢谢了!

svn中update冲突和commit冲突区别,求详细解释下吧,顺便带小列子吧!!谢谢了!

一、我给你说一下原理吧:
假如DBAccessUtils.java你在修改test方法,而你同事也在修改test方法,但是他先commit了,而你想commit的时候,commit不了,然后你不假思索就update下来了,然后就会出现4个文件分别为:
DBAccessUtils.java、
DBAccessUtils.java.mine、
DBAccessUtils.java.r2129、
DBAccessUtils.java.r2130。
.mine是你的修改的版本,里面是保存的你修改的内容
.r2129是你做更新操作以前的版本,你是在这个版本的基础上做的修改
.r2130是版本库中的最新版本,这里有别人的修改,而就是这个修改和你的修改冲突了
DBAccessUtils.java就是融合了你修改的内容和服务器最新的修改内容
二、说了那么多,现在说说怎么解决冲突吧:
我们打开DBAccessUtils.java,你会看到由小于号、等于号和大于号串组成的三个部分,其中小于号和等号之间的内容是你的修改,而等号和大于号之间的修改是其他人的修改,在明确了冲突的原因之后,我们已经知道怎么修改了,两个人的修改都是需要保留的。
OK,那就保留所有的修改,删除掉<、=和>,最后就把冲突解决了。
注意:小于号、等于号和大于号串是冲突标记,并不是冲突的数据,你一定要确定这些内容在下次提交之前得到删除。
三、如何降低冲突解决的复杂度:
1、当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。
2、在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘
3、养成良好的使用习惯,使用SVN时每次都是先资源同步,看看有没有冲突,再做相应的提交或更新。
4、每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答