1.svn info
查看URL、Reversion等信息
2.更新,修改和提交流程
svn update
svn add 目录或文件
svn status(st)
svn commit -m "comment"
svn add这个命令会遇到需要添加大量新增或修改项,如果一个一个add会很麻烦,在其他blog上看了一个方法(没有亲测,不过看起来是没错的):
脚本1:svn st|awk '{print $2}'|xargs svn add
作用:将所有改动添加到commit中
脚本2:svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add
作用:将所有新增的文件添加到commit中
svn不像git在commit操作后还需要例如git push origin master这种push语句。
3.回滚操作
如果没有做svn commit,使用svn revert 文件 命令即可。
如果commit了,那么需要通过merge来回滚,步骤如下
svn update更新项目得到最新版本号"new",接着进入需要回滚的路径,只commit本地的版本还是旧版本,只有update之后才变成新版本
svn log 查看该路径之前所有提交记录,找到要回滚到的版本号"old"
svn merge -r new:old 文件 指定的文件就回滚到指定版本
svn commit -m "comment" 提交回滚
不过今天遇到一个问题,我想恢复删除的文件,但该路径下其他文件也有改过,例如old版本是A和B,new版本中是A',- -这个问题找了好久,最终终于明白了。正确步骤如下:
1.创建被删除的同名文件B,svn add B,svn commit
2.svn merge -r 最新版本:目标版本 文件名
ps:而下面的命令,实验结果是:可以将删除的文件回滚到本地,但不能提交。这条命令跟svn图形工具中update to revision相同.
svn update 已经删除的文件或要回滚的文件 -r 回滚版本
4.查看特定版本的更新
svn log -v -r r1
svn log -v -r r1:r2