Linux命令(45)——svn命令

2018-08-16 16:03:35 浏览数 (1)

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 命令行使用总结

0 人点赞