最近出现了一些同事之间的讨论,在当今的软件行业中,如何存在两个独立的世界:
- 面向 FOSS
- 公司的
问题
Git 在企业环境中使用了多少?
您在企业环境中使用 Git 有什么经验?
最近出现了一些同事之间的讨论,在当今的软件行业中,如何存在两个独立的世界:
Git 在企业环境中使用了多少?
您在企业环境中使用 Git 有什么经验?
为了它的价值,我们在我的工作场所使用 git。每个人都对此感到非常满意。当然,没有一个人真的能够告诉你它有多普遍。
我怀疑 cvs/svn 的持续流行更多地与惯性有关。长期以来,它们绝对是最好的(如果不是最好的)选择**,并且大量的开发人员有机会学会很好地使用它们。如果您的大多数员工已经对它们感到满意,并且它们已经足够好,那么我们真的可以期望有多少公司尝试新事物?
公司决策的另一个常见因素与对自由软件的一种污名化有关。人们倾向于将货币成本和价值联系起来,认为更昂贵的产品更好(例如,我读过一项心理学研究,其中人们两次获得相同的葡萄酒,并告诉一个是更昂贵的品种。他们倾向于给它打分因为味道更好)。对于软件,这种态度有一定的道理——您通常可以购买某种产品的支持和维护保证。我们都知道成熟的开源项目仍然可以轻松胜出(更多的测试人员、更多的文档编写者、更快的错误修复发布......),但我相信这仍然会激励许多公司购买 VCS/SCM 产品。然而,这显然不是人们使用 cvs/svn 的原因。
** 请不要打火!我是一个顽固的 git 粉丝,但我知道它并不总是存在。当然,有些人仍然不同意,比如 Linus Torvalds:
在内核维护的前 10 年里,我们确实使用了 tarball 和补丁,这是一个比 CVS 优越得多的源代码控制管理系统……Subversion 有一段时间的口号是“CVS 做得对”,或者类似的东西,并且如果你从那种口号开始,你就无处可去。没有办法正确地进行 CVS。
我认为重要的不是观点,而是事实。此外,闭源公司通常不喜欢透露其内部架构的细节。所以......我认为这个问题没有完整和正确的答案。
对于新成立的公司或以前从未使用过版本控制的公司,没有迁移到 git 的成本。
而对于新手开发者来说,git 更适合,因为高级开发者/经理可以指导他们在推送到中央服务器之前“操纵”更好的修订历史。git commit --amend
如果他们发现历史上有任何错误,请告诉他们。
如果使用 CVCS,当多个用户提交他们的代码时可能会发生混乱。没有地方可以练习如何产生一个好的提交。
唯一关心的是修订号,如果您需要该编号作为产品版本号。因为 git 使用哈希。您可能需要 git describe
或其他方法作为解决方法。
我不知道,但我们使用Microsoft Visual Source Safe 6.0。他们正在考虑购买新版本。当我提议git
orsvn
时,他们挥手告诉我他们是免费的(就像啤酒一样),因此很糟糕。
我可以期待公司使用任何现有的 POS 并从那以后花钱。
免责声明:以上帖子只是我的拙见,我不知道如何做出决定。
我怀疑不迁移到 git 背后的力量不是“免费就是邪恶”,而是巨大的迁移成本。如果一家大公司尝试迁移到另一个系统,则可能会破坏某些东西。
应该预测迁移到更好系统的货币回报,并与直接(易于计算)和间接(临时生产力损失、破坏构建进度、与错误跟踪系统集成......)成本进行比较。由于没有人知道计算间接成本,决策者可能更愿意假设成本是巨大的。
在我的工作场所寻找一种使用 Git 的方法时遇到了这个问题。很抱歉让我们失望了,但我并不是“反对”自由软件,只是 Git 在没有帮助的情况下无法为我们工作。如果您在点名之前尝试了解一下,您可能会对 Git 的缺点有所了解。