Skip to content

Instantly share code, notes, and snippets.

@wangzz
Last active March 1, 2016 02:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wangzz/e322918c57d053268133 to your computer and use it in GitHub Desktop.
Save wangzz/e322918c57d053268133 to your computer and use it in GitHub Desktop.
记录SVN相关内容
记录SVN相关内容
@wangzz
Copy link
Author

wangzz commented May 5, 2014

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

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

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

@wangzz
Copy link
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
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
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
Author

wangzz commented Dec 23, 2015

回滚到指定版本

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

比如:

svn merge -r 214265:211042 .

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

@wangzz
Copy link
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