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 .