Git vs SVN:性能和存储

Git vs SVN:性能和存储,git,svn,version-control,backup,Git,Svn,Version Control,Backup,我想使用Git或SVN(Subversion)中的一种作为备份系统。对我来说,唯一重要的是系统的存储和性能。我四处搜索,发现的大多数结果都是比较与源代码管理相关的功能,如分支、本地存储库等。但是,正如我所提到的,我不是在寻找这些功能 简而言之,我想知道: 哪一个存储效率更高(占用的空间更少) 哪一个更可靠(如果推送/提交时发生崩溃,哪一个处理错误更好) 哪一个做得更快 哪一个可以更好地处理大型存储库(如果提交的修订太多,哪一个性能更好) 如果在比较中添加一些事实(实验),我将不胜感激。我在

我想使用Git或SVN(Subversion)中的一种作为备份系统。对我来说,唯一重要的是系统的存储和性能。我四处搜索,发现的大多数结果都是比较与源代码管理相关的功能,如分支、本地存储库等。但是,正如我所提到的,我不是在寻找这些功能

简而言之,我想知道:

  • 哪一个存储效率更高(占用的空间更少)
  • 哪一个更可靠(如果推送/提交时发生崩溃,哪一个处理错误更好)
  • 哪一个做得更快
  • 哪一个可以更好地处理大型存储库(如果提交的修订太多,哪一个性能更好)
如果在比较中添加一些事实(实验),我将不胜感激。我在寻找确凿的证据

用于备份。 如果保留要备份的文件的历史记录非常重要,请使用

Git和SVN不是备份实用程序


我知道您不关心SCM工具的功能,应该是一个指标,表明您不需要一个,但是(!),如果您使用Git或SVN之类的SCM工具,您将不得不处理实际提交

如果我唯一的目标是拥有一个完整的文件集合,我会认为这是一个巨大的痛苦。
速度方面,如果您有一个到备份目标的快速连接,
rsync
rdiff backup
将是最快的。Git将花费时间处理文件(压缩文件、构建对象等)

如果您的连接速度较慢,Git可能会更好,因为您将传输文件的压缩版本。你只需要提前处理时间


如果考虑到安全性,请知道可以使用
ssh
之类的方法作为
rsync
的传输方法。当然,这在Git中也是可能的。如果使用得当,我会认为这两个工具同样安全。

使用备份。 如果保留要备份的文件的历史记录非常重要,请使用

Git和SVN不是备份实用程序


我知道您不关心SCM工具的功能,应该是一个指标,表明您不需要一个,但是(!),如果您使用Git或SVN之类的SCM工具,您将不得不处理实际提交

如果我唯一的目标是拥有一个完整的文件集合,我会认为这是一个巨大的痛苦。
速度方面,如果您有一个到备份目标的快速连接,
rsync
rdiff backup
将是最快的。Git将花费时间处理文件(压缩文件、构建对象等)

如果您的连接速度较慢,Git可能会更好,因为您将传输文件的压缩版本。你只需要提前处理时间



如果考虑到安全性,请知道可以使用
ssh
之类的方法作为
rsync
的传输方法。当然,这在Git中也是可能的。如果使用得当,我会认为这两种工具都是同样安全的。

< P> > <代码> Git < /代码>,没有竞争:

  • 它更安全(所有提交都是唯一散列的)
  • 它更加紧凑(因为在我的机器上,5年多以来的整个Linux内核历史只需要不到1GB)
  • 速度快得多,一点都不好笑
  • 它很容易复制,因为它是分散的
当然,它的使用方式与SVN大不相同。但是教程也很丰富


是一个链接,用于比较git和svn在几个选定场景中的性能。

选择git,没有竞争:

  • 它更安全(所有提交都是唯一散列的)
  • 它更加紧凑(因为在我的机器上,5年多以来的整个Linux内核历史只需要不到1GB)
  • 速度快得多,一点都不好笑
  • 它很容易复制,因为它是分散的
当然,它的使用方式与SVN大不相同。但是教程也很丰富

是一个链接,用于比较git和svn在几个选定场景中的性能。

有关比较,请参阅。此外,您还可以使用Mercurial.

进行比较,请参阅。此外,您还可以使用Mercurial

  • 哪一个存储效率更高(占用的空间更少)
具有相同内容的Subversion存储库和Git存储库的大小,除非repo包含大量二进制项。在这种情况下,Git存储库可能比SVN存储库占用更多的空间

  • 哪一个更可靠(如果推送/提交时发生崩溃,哪一个处理错误更好)
我投票给SVN,只是因为使用Git的客户端操作会破坏存储库或数据库。这在颠覆中永远不会发生。推送提交时崩溃不应导致两个系统出现任何问题

哪一个做得更快

Git更快,因为存储库总是本地的。然而,通过网络克隆回购协议仍然需要一些时间

在Subversion中,您不需要克隆整个存储库;您只需要签出工作区,在大多数情况下,这比克隆Git repo花费的时间要少

哪一个可以更好地处理大型存储库(如果太多) 提交的修订,哪一个性能更好)

Subversion比Git更适合大型项目和回购。看

  • 哪一个存储效率更高(占用的空间更少)
Subversion存储库的大小