连接服务器
ssh username@ip (不用端口)checkout 项目
svn checkout repourl --username username --password passwordrepourl: svn url删除文件(移除版本控制)1.从 SVN 移除版本控制,并删除文件svn delete filename2.从 SVN 移除版本控制,但是不删除文件svn delete filename --keep-localps:如果直接用rm删除,提交的时候并不会提交,并且能查到文件丢失的状态提交1.全部提交svn commit -m 'commitlog'2.只提交指定文件或目录,可指定多个,以空格隔开svn commit filename_or_dir -m 'commitlog'svn commit filename filename -m 'commitlog'3.指定后缀的所有文件,以js为例svn commit *.js -m 'commitlog'commitlog:提交的log查看当前改动过的文件1.查看当前路径及子文件夹的所有文件svn status2.查看指定目录及子文件夹的所有文件svn status dir3.查看指定文件svn status filename4.查看将要更新的文件svn status --show-updates还原文件1.还原单个文件svn revert filename2.还原当前目录下全部文件svn revert . -R3.还原指定类型的文件,以还原png,spriteatlas为例,此处增加cut是为了对前面的内容进行裁剪,最后得到正确的文件路径,它的内容可能是M Asset/...cut之后就是Asset/...这样正确的路径svn status | grep -E '.png$|.spriteatlas$' | cut -c 9- | xargs svn revertcut -c 9-:表示从第9个字符到末尾cut -c 9:表示第9个字符4.还原除了指定类型的文件,以排除meta为例svn status | grep -v '.meta$' | cut -c 9- | xargs svn revert5.如果文件路径包含空格怎么还原svn status | grep -v '.meta$' | cut -c 9- | xargs -I {} svn revert '{}'6.递归撤销目录中的本地修改svn revert -R dirdir:指定目录|:上个指令的标准输出,做为下个指令的标准输入grep pattern:查找pattern,pattern是字符串或正则表达式,使用正则表达式时命令是grep -E patterngrep -v:反向查找,只查找不匹配的内容cut:用于显示每行从开头算起 num1 到 num2 的文字cut -c:以字符为单位进行分割xargs:可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据xargs -I:将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。使用 -I 指定一个替换字符串 {},这个字符串在 xargs 扩展时会被替换掉,当 -I 与 xargs 结合使用,每一个参数命令都会被执行一次。如:cat arg.txt | xargs -I {} ./sk.sh -p {} -l-p aaa -l-p bbb -l当文件路径包含空格时就需要用到 xargs -Igrep: https://www.runoob.com/linux/linux-comm-grep.htmlcut:https://www.runoob.com/linux/linux-comm-cut.htmlxargs:https://www.runoob.com/linux/linux-comm-xargs.html更新到最新
svn update或svn update .回退(更新到指定版本的代码。特别是最新版本代码有问题时,我们可以用这个命令回到之前的版本)
svn update -rxx或svn update -r xxxx:版本号添加文件1.添加指定的文件svn add filename2.添加当前路径及子文件夹里的所有文件和文件夹svn add --force .查看信息
svn info或svn info .查看log1.查看当前目录的日志svn log2.查看指定文件或目录的提交日志svn log filename_or_dir3.查看日志,并且输出变动的文件列表svn log -v4.限定只输出最新的 x 条日志svn log -l xx:指定多少条日志
svn常用命令
linux命令大全