首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'svn update‘是否包含存储库的历史记录?

问'svn update‘是否包含存储库的历史记录?
EN

Stack Overflow用户
提问于 2013-01-22 20:09:29
回答 3查看 197关注 0票数 0

我在比较SVN和Git。

我知道'svn checkout‘和'git clone’是一样的,因为两者都包含原始存储库的历史。

在Git中,一旦'git clone‘完成,我就不再需要'git clone’来获取原始存储库的历史记录,因为我可以'git fetch‘和'git merge’,这比'git clone‘更轻更快。因此,'git fetch‘和'git merge’可以将我的存储库作为原始存储库的完美备份。

但是SVN呢?‘'svn checkout’是非常昂贵的工作,因为它处理整个存储库。所以,在我想要的时候做“svn结账”不是一个好的选择。'svn update‘比'svn checkout’要轻得多,因为'svn update‘只提供更新的东西。

我想知道'svn update‘是否包含原始存储库的历史。如果是这样的话,'svn update‘可以保留我的签出存储库作为原始存储库的备份。如果没有,就没有简单的方法来保持我的签出存储库作为原始存储库的备份。

请给我一个好的答案^^

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-22 20:20:04

SVN只在本地保存工作副本。这意味着svn checkout仅创建当前HEAD的工作副本( svn update将现有工作副本更新到当前HEAD),但提交历史仍保留在服务器上(例如,如果执行svn log,则从服务器加载提交历史)。

另一方面,Git保存整个存储库--不仅是工作副本(git中的“工作树”),还包括整个提交历史记录。

如果您想将您的SVN工作副本恢复到一个较旧的版本,您可以使用svn update -r[revision number]来执行此操作,但是SVN会再次从服务器中提取指定的修订版。

票数 1
EN

Stack Overflow用户

发布于 2013-01-22 20:18:41

您最初的印象是错误的:svn checkout与git clone不同。

svn checkout仅获取最新版本,而svn update仅更新为最新版本。要以任何方式访问项目的历史记录,您必须与服务器联系。

票数 2
EN

Stack Overflow用户

发布于 2013-01-22 20:12:28

为了保留存储库的备份,而不是签出它,我强烈建议您考虑使用svnadmin dump或svnadmin hotcopy

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14458231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档