SVN常见问题

转至:http://www.cnblogs.com/-cyb/articles/android_svn.html

                                      svn常见符号

黄色感叹号(有冲突):
--这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许你提交,防止你的提交覆盖了别人的修改。要解决冲突,如果你确认你的修改是无效的,则用TSVN还原你的修改就行了;如果认为你的修改是正确的,别人的提交是无效的,那么用TSVN先标记为“解决冲突”,然后就可以提交了;如果你认为你的修改和别人的修改都有一部分是有效的,那么你就把别人的修改手动合并到你的修改中,然后使用TSVN标注为“解决冲突”,然后就可以提交了。进入文件夹,寻找有黄色感叹号的文件,这些文件就是发生冲突的地方,根据实际情况处理冲突


米字号(有本地修改代码):
--这是说明你有未提交的本地代码。


问好(新加入的资源):
--这说明该文件是项目中新增文件资源,新增资源可以是文件、图片、代码等。


红色感叹号(本地代码与库没有保持一致):
--这说明本地代码跟库上没有保持一致,如果用户想修复,可以将带红色感叹号图标文件删除,直接update即可。


灰色向右箭头(本地修改过)
--本地代码没有及时上库。


蓝色向左箭头(SVN上修改过)
--记得更新代码后修改,提交前跟svn对比习惯。


灰色向右且中间有个加号的箭头(本地比SVN上多出的文件)
--修改完记得跟svn保持一致


蓝色向左且中间有个加号的箭头(SVN上比本地多出的文件)
--删除该文件后,再次更新,将svn上文件全部更新下来。


灰色向右且中间有个减号的箭头(本地删除了,而SVN上未删除的文件)
--也就是说你删除确认后,一定要记得上库,跟svn保持一致


蓝色向左且中间有个减号的箭头(SVN上删除了,而本地未删除的文件)
--比对svn库上代码,确定需要删除后,更新svn(删除无用代码)。


红色双向箭头(SVN上修改过,本地也修改过的文件 )
--这个表示本地和svn上都修改过,最好就是把本地修改合并到svn,修改代码前最后先更新。



问题1:

转至:http://www.cnblogs.com/manuosex/p/3409787.html

一SVN下的文件被locked不能update和commit

最近做项目的时候,遇到这个问题,SVN下的文件被locked不能update和commit。其提示如下:

解决办法:
执行“清除”操作后,就可以了。(点击Clean up…即可,之后就可以提交和更新了)

 SVN还原提交的版本

由于在客户端提交应用程序时的误操作,导致修改了基线版本,此处利用两个命令来进行恢复:

1、将客户端恢复合并到指定版本:
svn merge -r 112:111 svn://192.168.0.119/UBoot/trunk/u-boot-1.3.3
此步骤将下位机由112恢复到111版本:

2、重新修订基线版本
svn commit -m "Undoing change committed in r111."
此步骤将恢复后的111版本提交,但是此时的版本号为113

三 svn代码冲突,不能提交的解决方法

对于刚接触svn的人来说,svn冲突后,不能提交是件让人很郁闷的事情。最让人郁闷的事,是代码间的覆盖。你把我代码盖了,我会很火大的。谁把谁的盖了都不爽。

为什么会出现代码冲突问题呢,因为不同的人,同时修改了同一个文件的同一个地方,这个时候,他提交了,你没有提交,你就提交不了,这个时候,你要先更新,更新就会出现代码冲突问题。一般情况,要尽量避免多个人修改同一个文件,如果你改的文件是公用文件,这个时候,最好和大家勾通一下,大家都在改就不好了。

 

下面我说一个,通用的解决冲突的办法,还不会覆盖代码,以test.java为例 :

1,修改文件后提交不了,大多是因为版本不一致造成的。更新一下,不产生冲突的情况,就可以提交了。

2,更新文件,如果出现冲突的情况,打开冲突文件test.java会看到类似以下的内容

<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>

结合别人修改的内容和自己修改的内容,然后把文件中的<<<<<,=====,>>>>>>>这类冲突符号去掉。去掉后,还是不能提交的,为什么?因为冲突时会产生三个文件,有这三个文件存在肯定提交不了。

客户端用的tortoisesvn(这个估计程序员用的最多),冲突时会多产生,三个文件

test.java.mine   是冲突前自己的文件

test.java.版本号   是冲突前本地的版本文件

test.java.服务器的版本号   是冲突后服务器版本文件

提交的时候,把这三个文件删除掉就可以提交了。

3,产生覆盖的原因。

a),在修改冲突文件test.java时,把别人代码都删除掉了,只留下了自己的代码。这样就会产生覆盖了。

b),把test.java.mine中的内容直接copy到test.java文件,这样也会产生代码覆盖。

上面二种情况都是我亲眼看到新手这样操作的,要避免这二种操作方法。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值