bash
连接服务器
ssh username@ip (不用端口)
checkout 项目
svn checkout repourl --username username --password password
repourl: svn url
删除文件(移除版本控制)
1.从 SVN 移除版本控制,并删除文件
svn delete filename
2.从 SVN 移除版本控制,但是不删除文件
svn delete filename --keep-local
ps:如果直接用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 status
2.查看指定目录及子文件夹的所有文件
svn status dir
3.查看指定文件
svn status filename
4.查看将要更新的文件
svn status --show-updates
还原文件
1.还原单个文件
svn revert filename
2.还原当前目录下全部文件
svn revert . -R
3.还原指定类型的文件,以还原png,spriteatlas为例,此处增加cut是为了对前面的内容进行裁剪,
最后得到正确的文件路径,它的内容可能是
M Asset/...
cut之后就是Asset/...这样正确的路径
svn status | grep -E '.png$|.spriteatlas$' | cut -c 9- | xargs svn revert
cut -c 9-:表示从第9个字符到末尾
cut -c 9:表示第9个字符
4.还原除了指定类型的文件,以排除meta为例
svn status | grep -v '.meta$' | cut -c 9- | xargs svn revert
5.如果文件路径包含空格怎么还原
svn status | grep -v '.meta$' | cut -c 9- | xargs -I {} svn revert '{}'
6.递归撤销目录中的本地修改
svn revert -R dir
dir:指定目录
|:上个指令的标准输出,做为下个指令的标准输入
grep pattern:查找pattern,pattern是字符串或正则表达式,使用正则表达式时命令是grep -E pattern
grep -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 -I
grep: https://www.runoob.com/linux/linux-comm-grep.html
cut:https://www.runoob.com/linux/linux-comm-cut.html
xargs:https://www.runoob.com/linux/linux-comm-xargs.html
更新到最新
svn update
或svn update .
回退(更新到指定版本的代码。特别是最新版本代码有问题时,我们可以用这个命令回到之前的版本)
svn update -rxx
或svn update -r xx
xx:版本号
添加文件
1.添加指定的文件
svn add filename
2.添加当前路径及子文件夹里的所有文件和文件夹
svn add --force .
查看信息
svn info
或svn info .
查看log
1.查看当前目录的日志
svn log
2.查看指定文件或目录的提交日志
svn log filename_or_dir
3.查看日志,并且输出变动的文件列表
svn log -v
4.限定只输出最新的 x 条日志
svn log -l x
x:指定多少条日志