Skip to content

Instantly share code, notes, and snippets.

@wangzz
Last active March 1, 2016 02:33
Show Gist options
  • Select an option

  • Save wangzz/e322918c57d053268133 to your computer and use it in GitHub Desktop.

Select an option

Save wangzz/e322918c57d053268133 to your computer and use it in GitHub Desktop.
记录SVN相关内容
记录SVN相关内容
@wangzz
Copy link
Copy Markdown
Author

wangzz commented May 5, 2014

svn用指定的版本覆盖本地版本

决定用哪个旧的修订版号后,用旧的修订版号文件覆盖新的修订版号文件。

svn merge -r 新修订版序号:旧修订版序号 your_file_path

@wangzz
Copy link
Copy Markdown
Author

wangzz commented May 5, 2014

Mac/iOS平台SVN不识别"@"的处理方式

开发过程中,想要删除SVN服务器上的一个图片文件,此图片命名为:image@2x.png,使用

命令:svn rm image@2x.png后,提示svn: 'image' does not exist。但是经确认服务器上肯定是存在这个文件的。所以怀疑是svn服务器不能识别@符号。

通过网络上查看发现如下方式,即可解决这个问题。

svn路径下不识别加@的图片时,请在最末尾加@符号作为结束
svn rm 'image@2x.png@'
or
svn rm "image@2x.png@"
or
svn rm image@2x.png@
在末尾加@

@wangzz
Copy link
Copy Markdown
Author

wangzz commented Jul 30, 2014

svn 文件状态标记含义

svn status打印五列字符,紧跟一些空格,接着是文件或者目录名。第一列告诉一个文件的状态或它的内容,返回代码解释如下:

A item
文件、目录或是符号链item预定加入到版本库。

C item
文件item发生冲突,在从服务器更新时与本地版本发生交迭,在你提交到版本库前,必须手工的解决冲突。

D item
文件、目录或是符号链item预定从版本库中删除。

M item
文件item的内容被修改了。

U item
文件在远端做了修改,本地未修改,执行update操作以后出现该状态。

G item
文件在远端和本地同时做了修改,执行update操作以后进行了合并。

R item
文件、目录或是符号链item预定将要替换版本库中的item,这意味着这个对象首先要被删除,另外一个同名的对象将要被添加,所有的操作发生在一个修订版本。

X item
目录没有版本化,但是与Subversion的外部定义关联,关于外部定义,可以看“外部定义”一节。

? item
文件、目录或是符号链item不在版本控制之下,你可以通过使用svn status的--quiet(-q)参数或父目录的svn:ignore属性忽略这个问题,关于忽略文件的使用,见“svn:ignore”一节。

! item
文件、目录或是符号链item在版本控制之下,但是已经丢失或者不完整,这可能因为使用非Subversion命令删除造成的,如果是一个目录,有可能是检出或是更新时的中断造成的,使用svn update可以重新从版本库获得文件或者目录,也可以使用svn revert file恢复原来的文件。

~ item
文件、目录或是符号链item在版本库已经存在,但你的工作拷贝中的是另一个。举一个例子,你删除了一个版本库的文件,新建了一个在原来的位置,而且整个过程中没有使用svn delete或是svn add。

I item
文件、目录或是符号链item不在版本控制下,Subversion已经配置好了会在svn add、svn import和svn status命令忽略这个文件,关于忽略文件,见“svn:ignore”一节。注意,这个符号只会在使用svn status的参数--no-ignore时才会出现—否则这个文件会被忽略且不会显示!

@wangzz
Copy link
Copy Markdown
Author

wangzz commented Oct 9, 2014

撤销本地修改

针对文件

$ svn revert foo.c
Reverted foo.c

针对目录

$ svn revert --recursive .
Reverted newdir/afile
Reverted foo.c
Reverted bar.txt

@wangzz
Copy link
Copy Markdown
Author

wangzz commented Dec 23, 2015

回滚到指定版本

  • 命令格式
svn merge -r [当前版本号]:[想回滚的版本号] [操作目录]

比如:

svn merge -r 214265:211042 .

将当前目录从版本号214265回滚到版本号211042

@wangzz
Copy link
Copy Markdown
Author

wangzz commented Mar 1, 2016

svn mv 移动文件可以保留提交记录,不要直接移动文件夹

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment