《Linux系统下svn命令大全.pdf》由会员分享,可在线阅读,更多相关《Linux系统下svn命令大全.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、svn 命令 通常都有帮助,可通过如下方式查询:$svn help 知道了子命令,但是不知道子命令的用法,还可以查询:$svn help add 开发人员常用命令开发人员常用命令(1)导入项目$cd/project$mkdir-p svntest/trunk,branches,tags$svn import svntest https:/localhost/test/svntest-message Start project.$rm-rf svntest 我们新建一个项目 svntest,在该项目下新建三个子目录:trunk,开发主干;branches,开发分支;tags,开发阶段性标签。然后
2、导入到版本库 test 下,然后把 svntest 拿掉。(2)导出项目$svn checkout https:/localhost/test/svntest/trunk 修订版本号的指定方式是每个开发人员必须了解的,以下是几个参考例子,说明可参考 svn 推荐书。$svn diff-revision PREV:COMMITTED foo.c#shows the last change committed to foo.c$svn log-revision HEAD#shows log message for the latest repository commit$svn diff-revi
3、sion HEAD#compares your working file(with local changes)to the latest version#in the repository$svn diff-revision BASE:HEAD foo.c#compares your“pristine”foo.c(no local changes)with the#latest version in the repository$svn log-revision BASE:HEAD#shows all commit logs since you last updated$svn update
4、-revision PREV foo.c#rewinds the last change on foo.c#(foo.cs working revision is decreased)$svn checkout-revision 3#specified with revision number$svn checkout-revision 2002-02-17$svn checkout-revision 15:30$svn checkout-revision 15:30:00.200000$svn checkout-revision 2002-02-17 15:30$svn checkout-r
5、evision 2002-02-17 15:30+0230$svn checkout-revision 2002-02-17T15:30$svn checkout-revision 2002-02-17T15:30Z$svn checkout-revision 2002-02-17T15:30-04:00$svn checkout-revision 20020217T1530$svn checkout-revision 20020217T1530Z$svn checkout-revision 20020217T1530-0500(3)日常指令$svn update$svn add foo.fi
6、le$svn add foo1.dir$svn add foo2.dir-non-recursive$svn delete README$svn copy foo bar$svn move foo1 bar1$svn status$svn status-verbose$svn status-verbose-show-updates$svn status stuff/fox.c$svn diff$svn diff patchfile$svn revert README$svn revert 修改冲突发生时,会生成三个文件:.mine,.rOLDREV,.rNEWREV。比如:$ls-l sand
7、wich.txt sandwich.txt.mine sandwich.txt.r1 sandwich.txt.r2 解决修改冲突方式之一:修改冲突的文件 sandwich.txt,然后运行命令:$svn resolved sandwich.txt 方式之二:用库里的新版本覆盖你的修改:$cp sandwich.txt.r2 sandwich.txt$svn resolved sandwich.txt 方式之三:撤销你的修改,这种方式不需要运行 resolved 子命令:$svn revert sandwich.txt Reverted sandwich.txt$ls sandwich.*sa
8、ndwich.txt 确保没问题后,就可以提交了。$svn commit-message Correct some fatal problems$svn commit-file logmsg$svn commit(4)检验版本历史$svn log$svn log-revision 5:19$svn log foo.c$svn log-r 8-v$svn diff$svn diff-revision 3 rules.txt$svn diff-revision 2:3 rules.txt$svn diff-revision 4:5 http:/svn.red- cat-revision 2 rul
9、es.txt$svn cat-revision 2 rules.txt rules.txt.v2$svn list http:/ list-verbose http:/ checkout-revision 1729#Checks out a new working copy at r1729$svn update-revision 1729#Updates an existing working copy to r1729 (5)其他有用的命令 svn cleanup 为失败的事务清场。(6)分支和合并 建立分支方法一:先 checkout 然后做拷贝,最后提交拷贝。$svn checkout
10、 http:/ bigwc A bigwc/trunk/A bigwc/trunk/Makefile A bigwc/trunk/integer.c A bigwc/trunk/button.c A bigwc/branches/Checked out revision 340.$cd bigwc$svn copy trunk branches/my-calc-branch$svn status A +branches/my-calc-branch$svn commit-m Creating a private branch of/calc/trunk.Adding branches/my-c
11、alc-branch Committed revision 341.建立分支方法二:直接远程拷贝。$svn copy http:/ http:/ -m Creating a private branch of/calc/trunk.Committed revision 341.建立分支后,你可以把分支 checkout 并继续你的开发。$svn checkout http:/ 假设你已经 checkout 了主干,现在想切换到某个分支开发,可做如下的操作:$cd calc$svn info|grep URL URL:http:/ switch http:/ U integer.c U butt
12、on.c U Makefile Updated to revision 341.$svn info|grep URL URL:http:/ 合并文件的命令参考:$svn diff-r 343:344 http:/ merge-r 343:344 http:/ commit-m integer.c:ported r344(spelling fixes)from trunk.$svn merge-r 343:344 http:/ my-calc-branch$svn merge http:/ http:/ my-working-copy$svn merge-r 100:200 http:/ my-
13、working-copy$svn merge-r 100:200 http:/ merge-dry-run-r 343:344 http:/ 最后一条命令仅仅做合并测试,并不执行合并操作。建立标签和建立分支没什么区别,不过是拷贝到不同的目录而已。$svn copy http:/ http:/ -m Tagging the 1.0 release of the calc project.$ls my-working-copy/$svn copy my-working-copy http:/ Committed revision 352.后一种方式直接把本地的工作拷贝复制为标签。此外,你还可以删除
14、某个分支。$svn delete http:/ -m Removing obsolete branch of calc project.管理人员常用命令管理人员常用命令(7)版本库管理$svnadmin help.$svnadmin help create.$svnadmin create-fs-type bdb/usr/local/repository/svn/test$chown-R svn.svn/usr/local/repository/svn/test 建立版本库,库类型为 bdb(使用 Berkeley DB 做仓库),库名称为 test。svn 版本库有两种存储方式:基于 Berkeley DB(bdb)或者基于文件系统(fsfs),通过-fs-type 可指定存储方式。(8)查询版本库信息$svnlook help.$svnlook help tree.$svnlook tree/usr/local/repository/svn/test-show-ids