svn命令大全

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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,开发阶段性标签。然后导入到版本库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 --revision 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 --revision PREV foo.c

# rewinds the last change on foo.c

# (foo.c's 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 --revision {"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.file

$ 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

sandwich.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.*

sandwich.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

/repos/example/trunk/text/rules.txt

$ svn cat --revision 2 rules.txt

$ svn cat --revision 2 rules.txt > rules.txt.v2

$ svn list /repos/svn

相关文档
最新文档