git vs Subversion-利弊[关闭]


11

我已经使用SVN多年了,我不能说对此感到完全满意。几天前,我的搭档让我看一下git,说“它具有更好的性能,更易于合并和分支”。

我一直在阅读git vs. SVN的比较文章,如果人们可以同时使用这两种版本控制系统总结优缺点,我将非常高兴。

现在,我正在研究从一种系统切换到另一种系统并听到主观意见的人们。

我自己知道我非常喜欢SVN的工作方式,拥有一个供人们签出的中央存储库,并且知道我可以从中部署实时开发副本和实时生产副本,但是有时我们很难解决冲突或其他错误,每次我们需要比较或查看文件的历史记录时,我们都需要处理网络延迟。

另一方面,拥有分布式平台也听起来让人头疼,您如何控制访问?您是否有一个中央存储库可在其中进行推送和更新?

感谢您提供更多有关此问题的信息。

Answers:


15

您是要从系统管理员的角度还是作为程序员的角度比较这两种工具?如果您从程序员的角度看待这个问题,也许您应该在stackoverflow上提出这个问题。甚至更好,也许您应该看看有关“ git svn ”的问题。

关于git和svn的事情是,它不是一个或非命题。您可以运行SVN信息库,如果开发人员认为git在特定情况下是更好的工具,则他们可以使用git-svn与之交互。


2

确实,没有真正的优点可以颠覆git。分发git后,每个人都可以使用远程跟踪分支在中央存储库中工作。git更快,更灵活,并且合并实际上有效。另外,您实际上可以脱机工作,而使用Subversion则不能提交更改(如果没有),您可以更轻松地使用git中的单个提交,而不用一个提交ID代表svn中的存储库状态。

访问权限由git服务器上的用户/组帐户控制(您必须使用“ git init --bare --shared”初始化源存储库以适当设置权限)或使用ssh键。可以使用第三方附件“ gitosis”来设置非常精细的访问控制。

当您习惯使用svn时,需要一些时间来习惯使用git(我们刚刚在我的办公室进行了此操作),但是git更强大。

如果需要出色的演练,请访问http://progit.org-它是开放源代码图书的完整在线副本。


svn可以处理比git大的文件
Joshua

我没有意识到git具有最大文件大小-限制是多少?
亚伦·布朗

2
多数情况下,由于Git会保留每个工作副本的历史记录,因此,一个大型的,经过大量编辑的文件将占用大量空间。如果大文件基本上没有变化,那就很好
Phil Miller

我要说约书亚的评论是误导的。签出的文件的SVN和git大小相同。将会发生的事情是,因为git在本地保留了一份回购信息的副本,所以在编辑文件时,所有文件以及回购历史记录所需的总磁盘空间将增加,但是对于SVN,此空间是固定的(因为回购历史记录不是本地存储)。
沃尔特

1

在我的团队中,我们正在将控制版本系统从svn更改为git。Git的学习曲线有些困难,因此我开始熟悉它,然后教开发人员如何使用它。他们需要了解分布式控制版本系统的所有优点:多个分支,没有中央存储库,速度等。

像您一样,我们有一个系统来部署我们的站点,因此我们保留了git中央服务器之类的东西,其中的更改是在开发人员的机器之间来回拉动的。我们的站点从此“中央服务器”获取更改,其余的部署过程与使用svn的过程类似。

我们尝试不混合svn和git存储库,开始迁移我们的次要站点,并为主要站点创建新的git存储库,就像它们是新版本一样。使用ssh密钥管理访问。另外,我们使用gitweb作为Web界面(我们的svn系统基于http)

它正在工作,一天到一天都没有改变,我们正在尝试使开发人员不要将此改变当作烦恼,而是一种学习一种工具的新技能,该工具最终将改善我们自己的系统。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.