Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否存在比SVN更快的集中式版本控制?_Svn_Git_Version Control_Performance - Fatal编程技术网

是否存在比SVN更快的集中式版本控制?

是否存在比SVN更快的集中式版本控制?,svn,git,version-control,performance,Svn,Git,Version Control,Performance,很长一段时间以来我一直在使用SVN,现在我们正在尝试Git。我不是在这里谈论集中/分散的辩论。我唯一关心的是速度 后一种工具要快得多。但有时,我需要使用集中的方法,这比分散的方法简单得多,也不太复杂。学习曲线真的很快,这节省了很多时间(而深入研究分散会导致浪费时间,因为学习曲线要长得多,我们在使用它时会遇到更多问题) 然而,与GIT相比,SVN的速度非常慢,我不认为它和集中式参数有任何关系。分散系统还必须处理服务器连接和文件传输。因此,我可以很容易地想象一个更快的集中式版本控制实现可能存在 有人

很长一段时间以来我一直在使用SVN,现在我们正在尝试Git。我不是在这里谈论集中/分散的辩论。我唯一关心的是速度

后一种工具要快得多。但有时,我需要使用集中的方法,这比分散的方法简单得多,也不太复杂。学习曲线真的很快,这节省了很多时间(而深入研究分散会导致浪费时间,因为学习曲线要长得多,我们在使用它时会遇到更多问题)

然而,与GIT相比,SVN的速度非常慢,我不认为它和集中式参数有任何关系。分散系统还必须处理服务器连接和文件传输。因此,我可以很容易地想象一个更快的集中式版本控制实现可能存在


有人对此有什么线索吗?

Git非常灵活,在一个集中的安排下工作得很好。在某个服务器上,创建一个“裸”存储库,其中包含以下内容:

mkdir repo
cd repo
git init --bare --shared

然后将您的存储库推到服务器上的裸存储库中,并将其称为“中心”repo。

Git支持许多拓扑,包括集中式CVS/SVN方法。有几种选择:

  • 通过ssh提供一个中央共享存储库。让这更容易
  • 使用私人帐户
  • 在您自己的数据中心中使用github的商用服务器产品
  • 据我所知,CVCS(集中式版本控制系统)比SVN快得多并不是免费软件:

    我在这方面做了详细的介绍

    您可以看到一个

    特别是它的合并支持更有效。

    让SVN变慢的是它如何处理工作副本。成千上万的文件被触摸和写入


    您可以尝试Bazaar(bzr),因为它支持工作流(但我不知道它是否真的更快),或者等待SVN1.7与WC-NG和集中式元数据一起使用。SVN 1.7计划在今年夏天完成,但也可能稍后完成。

    这并不能解决复杂性问题。有了SVN,你不会做错的。人们只需要知道3个命令:checkout(他们只使用一次)、commit和update。它只是工作。唯一可能出错的是忘记更新。。。Git要复杂得多,搞砸事情的机会太多了。本地和远程之间没有自动同步。如果有什么东西出了问题,它就会出错。@Savagman:我希望我在这里不会表现得太精英化,但我想,如果程序员没有足够的智慧使用Git这样的系统而不把事情弄糟,那么我会怀疑他们是否足够聪明来修补软件。@Savagman-顺便说一句,并非所有DSCM的学习曲线都像git一样陡峭;就阅读命令文档所需理解的内部内容而言,它有点独特。这并不是说这种方法没有好处,但一开始它有点让人厌烦。@Dan:这不是为程序员准备的。这就是为什么我要寻找一个简单的工具。SVN做得非常好,工作也很好;只是我认为它可以更快,因为有些替代品(不符合我的需要)更快。@Savagman:我认为你低估了用户搞乱的能力,即使是SVN。。。管理SVN服务器多年来,有多少种方法是永无止境的。尽管如此,SVN肯定是最难出错的。我喜欢git,但我不会让非技术用户接触它。嗯,我想我不应该给出git的例子。想象一下,你需要向只懂Microsoft Word和如何使用google搜索的人解释如何使用这种工具。@Savagman,Marcelo-因为我们正在讨论更快的集中式修订控制(Perforce确实是广泛接受的工具),我认为bzr是比git更好的选择,至少对于那些希望获得新手友好的用户体验的人来说——它可以以与svn(签出/更新/提交)完全相同的方式使用,也可以以完全分布式的方式使用(克隆/推送/拉取等)。Git可以用于任何工作流,但对于它是为哪个工作流构建的,它确实有点固执己见,并且没有提供特定于工作流的备用命令。关于您所说的,我认为bzr是一个很好的解决方案。问题是:它真的比SVN快吗?Bzr必须成为这里速度最慢的DCV之一(git,hg)。完全同意p4速度更快。然而,作为缺点,我发现它非常缺乏易用性;在工作中,我们有开发人员使用git-p4作为一个减轻痛苦的问题。好吧,这不会让我使用它(它是商业的:p),但这确实证实了我的好奇心,这正是我等待的答案。我不知道这个工具,谢谢。它看起来是平台complient(Win/Max/Linux),并集成在每个操作系统的资源管理器中。真有趣!:)