在企业环境中使用Git [关闭]


24

Git是一个出色的版本控制系统。如果我们排除这一事实,它没有出色的GUI支持,那么它确实很好并且速度很快。但是像Clearcase这样的源代码控件为企业客户提供了大量支持。公司为源代码控制服务器和licesense投入了大量资金。

最近,像Google这样的大多数大公司都在其他版本控制系统上采用了Git。但是该公司有一个强大的开源团队,他们始终为该工具提供开发和支持(他们甚至可能拥有自己的Git定制版本)。同时,大公司并没有真正在意采用开源项目并使之与它们相关。

  • 对于企业环境,尤其是在Windows平台上,Git真的是可靠的工具吗?
  • 对Git的支持存在疑问,因为它是一个开源产品。
  • 是否有提供解决方案和支持的公司?与其他版本控件(如Clear-case)相比,服务器成本如何?

2
我不知道Google是否采用git,我的理解是他们选择了Mercurial。而且,您还必须使我相信其他大型公司-您有任何例子吗?
Benjol 2011年

4
具有强大的GUI支持。只要选择一个好的操作系统。

2
@Benjol-此线程可以为您提供一些见解。quora.com/…–萨拉特
Sarat)2011年

1
@sarat,我知道Twitter值得很多钱,但我不会将其归类为大型企业。//我不知道code.google.com支持git,这是一个新的消息,而且我不确定您是否可以称其为git,而不是其他版本控件。[原文](code.google.com/p/support/wiki/DVCSAnalysis),他们明确决定采用git的Mercurial
Benjol 2011年

@Benjol通常我不能说,但是公共番石榴回购区已经移到git了
maaartinus

Answers:


37

GitHub不是版本控制,而是“托管”名为“ Git”的版本控制系统。除了双关语,这是一个非常重要的区别-一定要知道。

关于企业使用,我可以告诉您git与SVN一样聪明(方便且更好)。并且,您可以根据项目(和您的团队)的规模和范围选择合适的版本控制策略(工作流程)。非分布式系统无法为您提供这种灵活性。

在此处输入图片说明

对于Windows,请查看MsysgitGit的Visual Studio扩展-git在Windows上效果很好。此外,Windows用户可以从TekPub上观看此培训系列 -都是Windows。

更新[2013年2月] 在Visual Studio中开始使用git

您的问题并不罕见,您可以在Google上搜索该问题并获得大量文本,向您解释为什么以及如何(以及是否)在企业中使用git。

还是不喜欢Git?看看另一个称为Mercurial的 DVCS 。


12
Msysgit不是真正的Windows公民。它的效果很好,但几乎不是100%本机的。
Yann Ramin

+1表示有关Git的一些重要方面。尽管@greengit指出了在Windows下使用Git的可能选项,但它远没有像SVN那样集成。
tehnyit

我们使用已获得良好git支持的Eclipse。

1
我认为在这里应该提到乙醇钠矿(或类似矿物)。许多安全人员喜欢本地,他们会在本地托管回购协议,并采取控制措施。
Nic

2
@YannRamin:Msysgit绝对是真正的Windows公民,并且100%原生。它带有一个使用稍微不同的约定的unix shell,但这是shell,而不是git。您可以从cmd.exe或任何其他Windows进程中使用Msysgit,就像其他任何本机应用程序一样。(Cygwin与众不同,但Msys不是cygwin)
Jan Hudec 2012年

16

+1水星。

Mercurial很酷,很容易,具有许多用户友好的GUI,并且感觉更专业。我从来不明白为什么Git这么大肆宣传,而其他伟大的人物却在阴影中。谷歌代码,bitbucket.org(相当于github),eclipse也支持Mercurial。两年以来,我一直使用它,并且一直对此感到满意。

编辑2014年2月:

同时,Git已经取得了领先,我建议您不要使用水银。三年前,Mercurial被恕我直言,更加抛光,清洁,更好。但是,炒作是在Git的一边,从那以后获得的势头使其成为了明显的赢家。由于其庞大的社区,现在已成为事实上的标准。


就如何处理历史记录而言,Git的功能要强大得多。很多人会选择在本地合并分支,然后将其重新建立为一个主线分支,然后再推送到主/公共仓库。这样,长期的历史仍然很干净。就我上次使用HG而言,Mercurial不支持这些类型的历史记录编辑。通常,Windows中的git很烂;只能在Linux上找到使用它的最佳gui工具(git-cola,gitk)。
伊万·普赖斯

1
我几乎不会说Git由于炒作而成功:上次我检查时,Mercurial的后端格式是基于增量的,并且像SVN或CVS一样容易损坏。同时,Git的基本模型主要是原子更改的仅写操作。这只是技术上更合理的解决方案。
Stuart P. Bentley'14

@ StuartP.Bentley:腐败是什么意思?
dagnelies

在磁盘或网络上的复制,移动,写入过程中突然停止进程:在Git中,这只会创建立即可识别为垃圾的对象(因为内容与哈希不匹配),即使您在中间途中丢失一些东西,您可以检查所做的事情,然后从那里放回去。
Stuart P. Bentley'2

同时,将基于增量的格式将所有信息保存在单个文件中的格式(例如Mercurial)可能会发生小事故(例如,删除描述更改的行),从而破坏文件,例如Humpty Dumpty ,不可能再次放在一起。
Stuart P. Bentley'14

8

我知道https://github.com/为企业的私有存储库提供了一些支持

具体来说,他们提供了一项称为防火墙安装的服务,网址为http://fi.github.com/。 他们声称提供支持,但没有在线发布详细信息,我从未使用过它们。

费用为每20人每年5000 $。


-1根本没有回答他的问题
MattyD 2011年

13
他要求提供解决方案和支持的公司。Github为公司提供了特定的企业git托管解决方案。它没有回答第一个问题。它回答了第二个问题。它确实回答了第三个问题。
c00w 2011年

哇,FI的价格何时变化?上次我检查了一下,这大概是200-250 $ / mo,现在是两倍的
波动

8

我在Windows上同时使用Git和Mercurial,两者都比可用的更多。我认为Mercurial的GUI工具更好,因此,如果您的团队习惯使用可视化工具,可能会更好。不过我倾向于使用命令行-对我来说更有意义。

以我的经验,两者都是防弹的。尽管我知道很多企业都喜欢它,但您并不需要这样的“支持”。

我敢肯定还有其他人,但是值得一看的是Kiln,这是一个托管的解决方案。

请注意-无论您采用哪种方式,DVCS都与传统的VCS完全不同。恕我直言,它们几乎在所有方面都比较出色,但要花些时间才能习惯。


2
可能需要一些时间才能习惯。///我记得在SVN适应的那两天里,我对Git感到非常讨厌。
c69 2012年

6

git对于Windows开发人员而言是外国的。这不是真正的头等公民。它的确运行良好,但首先是Linux工具。例如,git的服务器模型非常需要SSH登录名以确保安全。

支持是一个问题,有些公司可以提供服务,通常会附带一个托管解决方案。

众所周知,Git不需要大型服务器-因为存储库可扩展更多的容量,并且速度始终很重要,但是由于大多数操作仅在您的计算机上进行,因此服务器要求比Clearcase之类的要低一个数量级。

就其价值而言,我们的不到100家规模不大的企业公司是Windows上具有Java和C项目的git的巨大用户。


1
尽管花了很多时间去研究文档,但我还是让GIT与LDAP服务器支持的SSL上的HTTP Basic身份验证一起很好地工作。
DoubleMalt 2011年

1
如果您打算将任何内容移植到Linux,请小心空格/行尾。如果您从一开始就不警惕,可能会变得很丑。
伊万·普赖斯

Git现在内置于VS 2013及更高版本中。MS使它成为一流的公民。
克莱·史密斯

5

Git是非常从ClearCase的不同,所以对你的挑战可能将是如何顺利开发人员(和其他用户)迁移到源代码和文件的工作方式不同。根据用户的经验以及企业中Clearcase集成的深度,可能需要大量培训和学习。

最初,我的建议是您在一个试点项目中试用git,并查看它如何为您的团队工作。在github上获得一个安全的存储库,您已经准备好进行试验。


5
  • 对于企业环境,尤其是Windows平台,Git真的是可靠的工具吗?

我们很快会对此表示坚决。Atlassian最近通过发布Stash 1.3朝着实现这一目标迈出了一大步。

  • 对Git的支持是一个问题,因为它是一个开源版本控件。

有一个经验丰富的Git用户的强大支持网络,可为免费和各种LinkedIn组(Git版本控制系统)提供建议。快速的Google搜索通常可以满足大多数要求。对于大型企业,现在市场上也有商业git支持选项。

  • 是否有任何公司提供解决方案和支持?与其他版本控件(如Clear-case)相比,服务器的成本如何?

现在有许多公司为Git提供可靠和专门的支持。Clearvision和#goGit就是其中之一。


藏匿链接一年半后断开。我在这里找到它:atlassian.com/software/stash

1

在我的企业工作场所,我一直致力于支持将整个团队从ClearCase引入Mercurial(类似于git的工具)。

我们之所以选择聚会派对,是因为它围绕不变性而设计,这对我们的业务目标很重要。另外,由于它是用Python编写的,因此在Windows中效果很好。Git以在Windows上的弱点酱而闻名,我的经验反映了这一点。(我认为现在的工具更好,我不再使用Windows来进行检查。:-))。

经验总体上是积极的,我们的大多数缺点都与子存储库以及与它们有关的怪异间接相关。另一件事是hg中不存在元数据存储;必须开发其他解决方案来进行管理。

如果我要为Windows开发人员推荐一种企业解决方案,以“开箱即用”地工作,那么我建议调查KilnGitHub Firewall

我知道这并不能直接回答您的问题。但是让我这样说,如果您习惯于ClearCase,我希望git在训练,实现和管理方面会更容易。


1

Git和Mercurial可以在企业环境中使用。在某种程度上。一些组织具有git当前无法满足的额外要求,例如更严格的访问控制,例如,只有特定用户才可以(读取)对存储库中特定文件的访问,或者像可以跟踪访问的审核界面一样。某些商业企业系统还与IT系统管理(例如企业备份解决方案)进行了更深入的集成。

Git也不利于确保保留历史记录-默认情况下,它允许强制推送覆盖项目的完整历史记录。

大型组织有时会遇到扩展问题。这是Facebook的一个案例:http : //comments.gmane.org/gmane.comp.version-control.git/189776,而其中一些问题是可以解决的(即,Facebook修复了他们在水银方面遇到的一些问题:https:/ /code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/)的商业版本控制系统具有不同的缩放行为,这些行为可能(或在其他环境中可能)效果更好。

...然后是这个责任。较大的组织可能更愿意在出现问题时致电外部供应商,而不是花时间调试问题并依靠社区支持。尤其是如果涉及带有机密信息的损坏的存储库。

这些绝不是使其无法在“企业环境”中使用的问题,但是像往常一样,不同的软件具有不同的优缺点,必须逐案评估。

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.