天天看点

SVN中check out跟导出(export) 的区别

svn checkout和export的区别:

(1)check out跟check in对应,export跟import对应。

(2)check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。

(3)export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行Update和Commit操作。导出文件夹下没有.svn目录

知道了这些区别,使用场景又有什么不同呢?

当你要发布或编译的时候,最后采用export,它不会引入svn的附加文件

当你需要修改和提交的时候,用checkout,它会在你本地建立一个工作区。

当然平常我们使用最多的就是checkout了,但是比如我只是想检出一个sh文件并在将来某一个时刻去执行它,这时候不需要svn信息,也不提交,自然就可以使用export了。

svn export -r HEAD --no-auth-cache --force --depth infinity  svn://127.0.0.1/lzzcms3.0/trunk  d:/zhao/code/  
--username zhao   --password  123456      

上面的命令表示检出最新版本的所有文件(无穷深度),从svn://127.0.0.1/lzzcms3.0/trunk这个svn地址检出到本地磁盘的code文件夹,svn的用户名和密码是zhao/123456