1.命令简介
SVN是Apache Subversion的缩写 ,是一个开放源代码的版本控制系统。相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS转移到Subversion。Subversion 在 2000 年由 CollabNet开发,现在已发展成为Apache软件基金会的一个项目。
svn是Apache Subversion的客户端,完成与Apache Subversion服务端的交互,实现版本控制。
2.命令格式
代码语言:javascript复制svn [subcommand] [options] [args]
3.命令选项
代码语言:javascript复制可用的子命令:
add
blame (praise, annotate, ann)
cat
changelist (cl)
checkout (co)
cleanup
commit (ci)
copy (cp)
delete (del, remove, rm)
diff (di)
export
help (?, h)
import
info
list (ls)
lock
log
merge
mergeinfo
mkdir
move (mv, rename, ren)
patch
propdel (pdel, pd)
propedit (pedit, pe)
propget (pget, pg)
proplist (plist, pl)
propset (pset, ps)
relocate
resolve
resolved
revert
status (stat, st)
switch (sw)
unlock
update (up)
upgrade
4.常用示例
4.1svn commit撤销
(1)然后找出要回滚的版本号:
代码语言:javascript复制svn log --limit 3 [filename]
--limit 3
的意思是显示最新的三个版本,假如根据svn log日志查出指定文件要回滚的版本号是2589。
(2)回滚本地到版本号2589:
代码语言:javascript复制svn merge -r 5730:2589 [filename]
(3)为了保险起见,确认回滚的结果:
代码语言:javascript复制svn diff [filename]
(4)本地与版本库中没有差异的话,指定文件的当前版本是2589。提交回滚后的文件:
代码语言:javascript复制svn commit -m "Revert revision from r5730 to r2589,because of ..."
参考文献
[1]Subversion.wikipedia [2]svn 命令行使用总结