svn命令

回退到某个版本

第一种方法

1 #注意:使用此方法的文件无法提交到版本库
2 
3 svn update -r 版本号 yourfile

第二种方法

1 #可以svn commit -m "revert to yourversion"
2 
3 svn merge -r当前版本号:某个版本号 yourfile

 解决冲突

同一个文件,被两人修改,这时候千万不要把别人代码忽略掉,也不要把自己代码忽略掉,团队合作,应该选择学会解决冲突,而不是选择忽略谁。

如果代码冲突了,当svn up的时候,会出现:

(p) postpone          暂时推后处理,可能要和那个冲突的家伙商量一番
(df) diff-full        把所有的修改列出来,比比看
(e) edit              直接编辑冲突的文件
(mc) mine-conflict    如果你要把别人的修改干掉
(tc) theirs-conflict  如果你要用别人的修改把自己写的干掉
(s) show all options  显示其他可用的命令

我们先选择p,稍后进行处理,对于每一个冲突的文件,svn会生成三个冲突相关的文件:

yourfile.mine   

yourfile.r[上一版本号]

yourfile.r[最新版本号]

这时候你看yourfile的时候,已经是面目全非了,有很多小于号、等于号、大于号;小于号和等于号之间的内容是自己修改的内容,大于号和等于号之间的内容是别人修改的内容;明确冲突的原因后,删除小于号、等于号、大于号冲突标记。

接下来执行svn resolved yourfile,svn会把刚生成的与冲突相关的文件删除。

最后执行 svn ci yourfile -m '提交文件,冲突解决了'

SVN的“local add, incoming add upon merge”树冲突问题

 解决方法:

svn resolve --accept working -R .

 

posted @ 2014-08-11 18:36  周文洪  阅读(329)  评论(0编辑  收藏  举报