据我所知,"SVN checkout"命令将从Subversion存储库执行文件的初始获取,并将它们本地存入您的工作目录/副本,并且"SVN update"命令将从以下文件中获取文件的更改如果其他人做出更改,则存储库.
在我看来,虽然"更新"只是"结账"的一个特例,也就是说,当结账发生时,它获取所有文件,因为当地没有任何文件,因此所有文件都"已更改",并且在幕后这些命令大致相同的事情.我假设命令单独存在只是作为一种简化手段?
或者,命令之间是否存在其他差异,例如,"SVN更新"获取文件是否获取新文件(存储库中存在的工作副本中没有的文件)或仅更新现有文件?
kar*_*rts 44
正如我所看到的,最大的区别在于checkout 创建了一个工作副本,同时update降低了对现有工作副本的更改.
Edd*_*Edd 14
svn checkout从给定版本(默认HEAD)的存储库中的给定目录复制所有版本化文件,并将它们复制到本地计算机.它还生成所有隐藏的.svn目录及其中的元数据,使这些文件成为工作副本.
svn export从给定版本的存储库中的给定目录复制所有版本化文件(默认HEAD),并将它们复制到本地计算机,但生成标准目录层次结构.(它不产生可以被更新或重新签入工作副本).
svn update将更改应用于现有工作副本.如果发生冲突,则会发现用户已收到警报,并且必须先解决此问题,然后才能提交任何更改.使用svn commit时要求提交的工作副本是最新的(即与HEAD相同的修订版).
svi*_*nto 10
Update会将已签出的版本更新为存储库中的最新版本(或指定的其他版本).如果您对工作副本进行了更改,则更新后它们仍将存在.如果已将文件添加或删除到存储库,则会将这些文件反映在工作副本中.如果您的本地副本和存储库中都有更改,SVN将尝试合并您的所有更改,如果这不起作用,它将标记您手动解决的冲突.