svn 常用命令行

svn co svn地址 本地目录    	//拉取
svn info   					//查看svn 地址信息
svn --version  				//查看版本信息

svn ci -m "remove xxx"   	//commit
svn rm xxx    				//删除某个文件
svn add xxx   				//add
svn add xxx --force 	 	//强制add

svn cleanup					//clean up
svn revert -R .  			//回退本地修改
svn sw svn分支地址  			//切换分支
svn cp -m "branch/v1.3.0"  	//开新分支
svn merge -r 608:602 ""  	// 回退本地版本从608到602
svn log -l 5  				//查看最近5条记录
svn diff -r 606:602  		//查看这两条记录之间的详细信息
svn diff    				//撤销当前修改,覆盖为资源库最新版本
svn merge ^/trunk -r 399:HEAD   //从trunk分支merge399到最新的内容到本分支

//命令方式清除svn用户名和密码
cd ~ //进入home目录
ls -al //列出所有文件
cd .subversion/auth //进入保存svn用户名和密码的auth目录
rm -rf * //删除该目下下所有文件

svn常见报错

问题1:svn提交不生效(提交没报错但没有提交记录)

1】如果是添加了文件,则需要add一下
svn add xxx (如果提示 某些文件已经版本控制,可以强制add) svn add 目录 --force
svn ci -m “add” svn ci -m 目录 --force 强制上传(不是配套使用的,一般不用)
2】如果是删除了文件,则还需要remove一下
svn rm xxx
svn ci -m “remove”
否则提交不生效

问题2:commit提交的时候提示“Base checksum mismatch on”

解决步骤:
1.1】删掉原文件,提交
1.2】将修改后的文件改个名字放入工程,提交。
1.3】将修改后的文件改成原名字,提交。

问题3:想要回滚代码

1】第一种情况:改动没有被提交(commit)。

svn revert -R .  //当前目录下全部回退
svn revert -R something //回退某个文件

2】第二种情况:改动已经被提交(commit)。
这种情况下,用svn merge命令来进行回滚。

svn update  //先更新
svn log   		//找到要回滚的版本号
svn merge -r 28:25   //从28号回退到25号
svn ci -m "revert 28 to 25"  //提交回滚

问题4:SVN提交失败:Changing file ‘XXX’ is forbidden by the server;Access to ‘XXX’ forbidden

原因:服务器禁止访问,肯定是上传的权限不够导致,让运维给你的svn账号加权限

问题5 svn: warning: W150002: xxxx is already under version control svn: E200009: Could not add all targets because some targets are already versioned svn: E200009: Illegal target for the requested operation

出现这个问题影响不大,一般是add的时候因为目录之前已经存在库里了,不需要add。看后面是否有其他的报错。

问题6:svn commit时提示报错: xxxx has unexpectedly changed kind

1】一般出现这个情况就是合过来或者copy过来的文件内容软链接变了, 暴力解决方法:
1.1】先删除原内容,提交。
1.2】再cp新内容过来,提交。

问题7 :svn: E155036: Please see the ‘svn upgrade’ command svn: E155036: The working copy at xxxxx is too old (format 10) to work with client version ‘1.10.4 (r1850624)’ (expects format 31). You need to upgrade the working copy first.

问题原因: 网上很多人都说直接svn upgrade就可以,你可能会发现不好使。

真正原因: 是因为xxxxx这个文件带有svn版本控制,与你自身工程的版本控制不符,你会发现,只要他在,你的所有svn操作都会提示这个报错。
解决:
1】把xxxxx先从你的工程里删除
2】svn cleanup (有的时候你的工程会因为这个问题而锁掉)
3】查看xxxxx这个文件(或者包)里面是否有隐藏的文件夹.svn(mac电脑显示隐藏文件夹操作是commond+shift+.(这是个点) ,全部删除后再add到你的工程里。

根本原因:在Jenkins配置里面配置的库版本跟 你文件的 库版本不一致导致, 如果都是你自己的文件,就修改Jenkins库版本一致就可以。 如果是别人给你的 文件, 那就用上面的方法解决。
在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐