反对在企业中使用"Git"的原因

Zub*_*air 15 git

我最近在一家大公司使用商业集中控制版本控制系统,有大约100个不同的子系统用不同的操作系统和语言编写,我注意到有几个开发人员在他们的宠物项目上使用git或mercurial,但不是因为他们的工作系统.我个人对git比较熟悉,但是想知道他们"不"在企业中使用Git的原因是什么,除了已经做出选择的事实(我们的集中控制版本系统有很多问题,所以我可以不要说这很精彩.

更新

自从我写这篇文章以来,世界确实发生了变化 当时实际上不允许Git使用的公司现在使用Mercurial作为他们的首选系统

Ric*_*gan 15

我不同意企业害怕自由或改变缓慢的想法.这些可能是正确的,但是使用它们来消除企业空间中git的缓慢采用率忽略了企业的意义.此外,SVN很受欢迎,它是免费的.

企业是关于集中化的.您希望所有开发人员遵循相同的过程,获得相同的代码等.

Eric Sink在这方面比我更有说服力:http://www.ericsink.com/articles/vcs_trends.html

  • @ dclowd9901支持与事物是否免费无关.支持不仅仅是你付出的代价,git支持的质量和周转时间可能比任何商业支持更快.但你可能意味着有偿支持.Subversion通过collab.net支付了费用.可以通过clearvision-cm.com和github获得对git的支持.他们有什么好处吗?不知道!但"企业支持"更多的是成为安全毯而不是质量. (3认同)

dcl*_*901 12

如果我不得不猜测,我会说这是因为企业一直对使用"免费"的东西持谨慎态度.主要是因为他们缺乏稳定的支持系统(一般来说,支持来自StackOverflow.com或论坛的开源形式),但也有一种普遍的心态,"你得到你付出的代价".他们认为,如果不花费他们的许可费用,那么它在实际可用性方面必须具有同等价值.

当然,作为技术专家,我们知道这是一个负担.

  • 支持是一个重要因素.我打算建议这是因为git相当复杂,学习曲线比其他解决方案更高,但是,我认为支持胜过它. (7认同)
  • @Ken:当然,有了git邮件列表,还有像Junio Hamano这样的维护者,还有Linus,你很难说git没有支持.你会得到快速响应严重的错误. (2认同)

luc*_*sio 8

根据我的经验,企业有很多反对变革的反体

  1. 现有的技能组合:如果团队的很大一部分对现有工具的技能,他们将自动成为改变他们的障碍,甚至是更好的.
  2. 整合的稳定性:在迁移和稳定性方面,变化总是一种痛苦.什么是生产"天生就是工作",每一个变化总是会产生问题.
  3. 合规性:现有工具已经过企业ICT安全性的分析和验证,然后被定义为"标准和合规"的公司程序.任何不同的东西都将被视为潜在的安全风险.

恕我直言,然后问题不是 GIT本身或分布式版本控制:问题是改变SCM并走向未知的东西,并可能为企业规则集"危险".这就是"抗体"发挥作用以防止任何重大变化的原因.

更具体地说,关于GIT,许多风险和威胁正在提供反对其采用的额外论据,与上述三点有关:

  1. 技能组合:GIT与目前使用的任何其他SCM不同.命名是模糊和误导的("svn checkout"是"git clone"...而"git commit" 不是 "svn commit")
  2. 整合稳定性:GIT一直非常不稳定,直到Ver.1.6.自Ver以来我们在Windows上使用过它.1.5并且它真的很痛苦,特别是对于没有经验的开发者.
  3. 合规性:GIT默认情况下没有身份执行,也没有明确说明谁做了什么.它是"点对点",因此本质上是反对中央控制和审计.

在GIT之前我曾多次看过"反身体":

  • 1996年:从RCS迁移到CVS
  • 2001年:从SourceSafe迁移到CVS
  • 2005年:从CVS迁移到Subversion
  • 2009年:从Subversion迁移到Git

所有这些例子中,关键是突出企业范围内变化的加减:评估风险,成本和收益......以及所有人都清楚地记住谁是反体,我们如何减轻它们或"确保他们用旧工具走路的好巷".

经过许多痛苦和努力,所有这些迁移最终都非常成功!我在大型企业中引入了GIT,如英国和德国的沃达丰集团服务公司.无论如何,在经历了痛苦和阻力之后,这种变化已经开始,并且效益可见,并且已经在效率,敏捷性和控制方面提供了显着的投资回报率.

在合规和支持方面,我看到积极帮助采用供应商协助的赞助.一些例子:


一般来说,变化是在大型企业中最昂贵的,但更重要的任务,从人的思维定势的点首先的.

让我知道您对Git和Enterprise Tools采用的看法!

Luca/@lucamilanesio


Cas*_*bel 7

一些原因很多:

  • 惯性:那里有很多人熟悉集中式系统.如果你不改变,你不必"重新培训"开发人员.

  • 与其他工具的交互:企业环境当然对于持续集成,IDE,花哨的问题跟踪器等额外工具很重要.当然,与已经相对较新的git和hg相比,对已建立的集中式VCS的支持更多.

  • 支持:当您购买商业VCS产品时,您不只是购买该程序,而是购买安心.

当然,我不是说这些是很好的理由; 他们只是让那些有能力做出这个决定的人有说服力.我认为值得克服惯性 - 它现在需要工作,但它会在以后得到回报.我认为外部工具在支持git方面越来越好,特别是开源软件 - 他们只需要插件.至于支持,我们都知道互联网上有很多不太正式的支持.

实际上,所有这些都有一个共同的想法 - 自由软件哲学并不是公司开展业务的方式.购买产品很容易.你付钱,你得到你需要的.管理层不必担心.使用免费软件产品......好吧,它可能会好得多,但处理起来会更复杂.它不是一个盒子.

澄清:我使用"免费"这个词的方式与自由软件世界中的那些一样 - 在自由中不像啤酒那样自由.希望这句话最终能够深入到每个人的脑海中.请注意,我从来没有在这里处理成本问题 - 虽然我认为在git的情况下,一般来说它最终会比购买的解决方案便宜,尽管让每个人都加快速度并确保它的成本适合你的其他过程.这不是一个干脆的问题,因为我认为git是未来的,所以把它放在子弹中是没有意义的.


Fab*_*obs 5

根据我的经验,这是对改变的恐惧.源代码管理是基础架构的核心部分,会影响所有开发人员.如果当前系统不会伤害太多企业IT实际上会对抗变化.

我经常听到的另一个原因是IDE集成还没有达到例如CVS或Subversion的质量.虽然这个论点是正确的,但它正变得越来越容易出问题.