用dos命令进入项目文件夹,运行svn cleanup;不要直接右键点击找cleanup选项。
SVN更新(SVN Update)及如何解决冲突文件
SVN update:
更新本地代码与SVN服务器上最新的版本一致,只要在需要更新的文件夹上点击右键或者在文件下空白处点击右键,选择”SVN Update” (获取指定版本中的内容,点击右键执行SVN菜单中的“Update to reversion“),就可以了。
冲突文件的解决
1、对于每个冲突的文件Subversion在你的目录下放置了三个文件:如下:
2、 为什么会产生冲突呢?
原因很简单就是因为不同的人,同时修改了同一个文件的同一个地方,这时候,他提交了,我没有提交,我就提交不了,这个时候我们要进行先更新,然后在进行提交即可,那如果产生冲突,会生成如上3个文件。
3、解决方案如下:
1) 首先我们可以看下1txt代码如下:
2) 然后我去掉多余的代码,1txt变成这样:
3)进行提交,还是提交不了,如下所示:
4)为什么?因为冲突会产生上面的三个文件,有上面3个文件存在肯定提交不了,这三个文件代码及解释如下:
4、新的解决方案:
前面说过 <<<<<<< mine …… =======
……之间的代码是我未产生冲突之前修改的代码,
======= ………>>>>>>> r16 这中间……的代码是别人与我冲突代码的部分,从上面的代码可以看到 aaaaaaaaa是我同事新增的 ,00000是我后增加的。
1)使用revert(回滚) *** 作,该 *** 作表示用户放弃自己的更新代码,然后直接提交,这个时候你的代码就会使服务器上最新的代码,即A用户提交的新代码,你的代码不会被提交,如下所示:
2)点击ok按钮后 可以看到其他三个文件都自动删掉了,1txt代码变成如下代码:
也就是a用户提交的代码,我自己更新的代码需要自己动手复制进去即可提交commit。
这个原因我本来是打字给你举例说的,但发现但太多太罗嗦了
所以我又删掉了,直接告诉你,怎么 *** 作是合理的吧
每次提交代码前,先更新你本机的svn代码;
提交代码时,只提交自己自己修改过的代码文件,其它没改动的文件,不要提交;默认情况下svn只会提交当前变动过的文件,但我也遇到过有些同事没事干,提交前没更新代码,然后提交时选中了自己没修改的文件,一起提交,结果导致svn服务器上的代码被污染了而其他人在不明真相的时候,又更新了自己的代码库,结果悲剧发生了,他之前做的工作白做了,被那个无聊的人一次无聊的提交给清掉了
每次更新时,大概看一下更新日志,看看是不是有人跟你在维护同一个文件或同一个文件的同一处代码片段这个一定要注意
在你的工作目录中,svnlog
一下,看最近更新的版本xxx是哪个。
再svn
log
-v
-rxxx
一下,看这个版本更新的哪几个文件。
也可以在windows装一个TortoiseSVN,去查最近更新的版本中有哪几个文件更新了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)