svn checkout
最后更新于:2022-04-02 05:57:51
### 名称
svn checkout ― 从版本库取出一个工作拷贝。
### 概要
~~~
svn checkout URL[@REV]... [PATH]
~~~
### 描述
从版本库取出一个工作拷贝,如果省略*`PATH`*,URL的基名称会作为目标,如果给定多个URL,每一个都会检出到PATH的子目录,使用URL基名称的子目录名称。
### 别名
co
### 变化
创建一个工作拷贝。
### 是否访问版本库
是
### 选项
~~~
--revision (-r) REV
--quiet (-q)
--non-recursive (-N)
--username USER
--password PASS
--no-auth-cache
--non-interactive
--config-dir DIR
~~~
### 例子
取出一个工作拷贝到`mine`:
~~~
$ svn checkout file:///tmp/repos/test mine
A mine/a
A mine/b
Checked out revision 2.
$ ls
mine
~~~
检出两个目录到两个单独的工作拷贝:
~~~
$ svn checkout file:///tmp/repos/test file:///tmp/repos/quiz
A test/a
A test/b
Checked out revision 2.
A quiz/l
A quiz/m
Checked out revision 2.
$ ls
quiz test
~~~
检出两个目录到两个单独的工作拷贝,但是将两个目录都放到`working-copies`:
~~~
$ svn checkout file:///tmp/repos/test file:///tmp/repos/quiz working-copies
A working-copies/test/a
A working-copies/test/b
Checked out revision 2.
A working-copies/quiz/l
A working-copies/quiz/m
Checked out revision 2.
$ ls
working-copies
~~~
如果你打断一个检出(或其它打断检出的事情,如连接失败。),你可以使用同样的命令重新开始或者是更新不完整的工作拷贝:
~~~
$ svn checkout file:///tmp/repos/test test
A test/a
A test/b
^C
svn: The operation was interrupted
svn: caught SIGINT
$ svn checkout file:///tmp/repos/test test
A test/c
A test/d
^C
svn: The operation was interrupted
svn: caught SIGINT
$ cd test
$ svn update
A test/e
A test/f
Updated to revision 3.
~~~
';