十几年的Git:与创作者的采访 - Linus Torvalds的

这个星期是从何时Linux内核开发者都面临着一个障碍之日起十年:他们可以不再使用它的版本控制系统BitKeeper的,并没有其他源代码控制系统不符合分布式资源方面的要求。 Linus Torvalds的,Linux的创造者,接受了挑战,并消失在周末下周出现使用Git。今天,Git是用在数千个项目和Git推在开发商群体编程到新的社会层面。

为了纪念这个日子,我们要求莱纳斯分享创造的Git的隐藏的历史,告诉我们什么,他认为这个项目及其对软件产品的发展的影响。你会发现它在文字下面的评论。对于这次采访的几个星期,Git的,在那里我们每天会考虑使用版本控制系统的个别项目。期待故事发展KVM,QT,Drupal的,木偶,葡萄酒和其他许多人。


你为什么要设置的Git?
Torvalds的: B>其实,我从来没有想要做的版本控制系统(SLE),并认为它是在计算机世界只是最有趣的事情(与数据库可能是个例外; ^),我热血沸腾讨厌所有这些系统。但后来BitKiper(BK),真正改变了我看了看源代码控制的方式。 BK做了很多正确的事情。并有能力保持在库的本地副本和分布式合并代码是一件好事。分布式版本控制模型的一个重要特征是,它消除了最严重的问题SLE的1 - 谁可以进行更改的政策。 BK表明,你能避免它只是通过分配所有资源库。但BK有其自身的问题;几个技术解决方案导致的一个问题(名称变更很痛苦),但最糟糕的是事实,因为BK是不是散发着开源软件,这是一个很多人谁不想使用它。因此,我们最后有使用BK,这是免费的开源项目使用的几大开发商,但它从来没有成为普遍接受。因此,它是(VC)已经帮助在内核的发展,但仍然存在着生病的时刻。

它发生在我当盒(安德鲁Tridgell的)开始反向工程一个简单的协议BK,这是违反了使用BK的规则。我花了几个星期(月?这就是我觉得自己和)试图在盒和Larry McVoy之间进行调解,但最终很显然,它根本不起作用。所以,在某些时候,我就决定,我不能再继续使用BK,但我也不想回去那名BK前的最糟糕的日子。可悲的是,虽然还有其他工具SLE,这在一定程度上试图使用分布式的开发模式,但他们都不在远程使用的情况下运作良好。我有我自己的性能要求,这是大约甚至不能满足于已经面世;而且我也担心代码和设计过程的完整性,所以我决定写他。

你是如何呢?你写的所有的周末或者只是一般的时间呢?
Torvalds的:的呃。你,对了,你可以看到这一切是如何花了源代码库的Git的形式,除了第一天或类似的东西。这一天花在试图成为一个Git本身承载,这样你就可以开始使用Git犯Git的。因此,在第一天或类似的东西是不存在的故事,但一切 - 在那里。主要工作进行了主要是在白天,但也有一对夫妇的记录和一对午夜 - 后凌晨两点。最有趣的事情是如何快速采取的形式。在第一个承诺在树Git的 - 它不是一个大量的代码,但它确实基本 - 足以犯本身。诀窍是没有那么多的编码,以理解Git的怎么也来组织数据。

我想强调的是,尽管它已收集到十天或者类似的东西(在此期间,我做了我的第一个混帐提交到库Linux内核)的事实,这是不以任何方式疯狂的编码。这种早期的代码量是足够小,一切都取决于正确实施的基本思路。所以我花了一些时间“研”整个项目推出之前。我看到别人的问题。我看到了我想要的东西,以避免。

无论是增加(GIT)对你的期望的水平?它(GIT)如何以及适用于你的估计?是否有任何限制?
Torvalds的:的,我很高兴使用Git。它的工作原理非常出色的内核代码,仍然是我的期望。有趣的是,花了这么多的其他项目。令人惊讶的迅速结束。有很多的惯性,从一个到另一个SLE切换;只要看看多长时间使用CVS,甚至和RCS依然存在,但在某些时候,Git和把他们的情况。

你怎么想,为什么(GIT)已因此被广泛采用在使用?
Torvalds的:的我觉得有很多人被这让我讨厌SLE同样的问题恼火。虽然有很多项目,解决一个或两个人抬了自己的小问题的尝试,其实没有什么,如Git的,真正帮助不再需要在自己头上的大问题。即使人们不理解一个分布式的开发模式是多么重要(很多人用这种挣扎),那么一旦他们意识到它允许更多的光线和可靠的备份,并允许人们作出自己的资源库,而无需考虑在录制分辨率政治某些存储库,他们再也没有回头。

将Git的始终存在,或者您预见SLE在未来十年修订?你将是那些谁写的呢?
Torvalds的:的没有,我会是一个写。也许大家会看到十年新的东西,但我保证,这将是东西很混帐似的。不是在这个意义上,在Git的是正确的,但在那混帐具有的基本功能右内其他SLE以前的感觉从未有过。

没有故作矜持;)

为什么Git的工作如此出色的Linux?
Torvalds的:的嘛,Git的是为我们的工作创造了,因为这是它的一部分。我已经提到分布式模型很多次,但它是有道理的再次调出。但Git的也已经成立,是一个大的项目,如Linux相当有效,并写入做什么的人认为Git的出现之前是一个挑战 - 因为这些事情,我每天都在做

只是举例:合并的概念被看作是一件很痛苦的,困难在许多SLE。你将不得不计划他们的排水,因为他们是严肃的事。这不是ustaivaet我,因为我通常做几十个一天兼并当我在合并的时间窗口,即使如此,工作量不应该在合并,并测试代码。并购本身需要几秒钟,这是很书面解释并购更感兴趣。

于是,Git的建成和我的要求写的。所以它发生。

人们说,Git的 - 只为超级聪明的人。即使安德鲁·莫顿(安德鲁·莫顿)说,Git的«Git的设计,让你感觉比以前更愚蠢的。“什么是你的回应是什么?
Torvalds的:的嘛,我想应该是在第一,但是这已不再是个案。有几个原因,让人觉得是这样,但我认为这是唯一一个留下的理由。一个剩下的,是很简单的:“你可以用不同的方式»这样做

你可以使用Git很多事情,很多关于你应该做的不是来自技术限制的规则,而是因为这样效果很好时,你必须与其他人互动。 Git是一个非常强大的工具集,可超负荷的开始,但它也意味着,你可以经常做同样的或类似的东西以不同的方式,他们都工作过。在一般情况下,学习的Git的最佳方式,或许,就是只是做简单的事情,甚至不看其他的东西,只要你不自信方面的基本知识。

有几个历史原因的Git的感知作为一个复杂的事情。其中之一 - 的事实,这是真的很难。这些人谁开始使用Git之前,任何人都与Linux内核工作,真的必须学会使用一个相当复杂的一系列脚本,使一切工作。所有的努力都是为了得到工作的核心技术和相当多的 - 事实上,可以很容易和明显。和Git,当然有它提供了你之前在做知识的声誉。然而,这是一般真正的只在第一个半年或一年。

另一个原因是人们觉得像Git的 - 一个复杂的事情,Git是非常奇特的。有些人谁喜欢这样的事情CVS的十年或二十年,和Git - 没有CVS。甚至没有类似的。不同的概念。球队不同。混帐从来没有尝试过,看起来像CVS,反之亦然。而且,如果你使用CVS-like系统很长一段时间,它给的复杂性和差异无缘无故的Git的印象。人被击退奇怪的系统版本号。为什么是混帐«1.3.1»的版本号,但在CVS的版本越来越多的不是很好做​​了什么?为什么有(GIT)陌生和可怕的40位十六进制的数字?

但Git的不是别人不合理。这些差异是必要的。最有可能的,人们只是觉得Git是比它确实是,只是因为他们与经验的其他行李更复杂。 CVS叶背景。目前,大概有谁从来没有使用过CVS在他们的生活,他们可以找到很多程序员来说,它是如何工作的CVS,非常混乱,只是因为他们已经学会了摆在首位的Git。

能加速Linux内核的开发与不混帐现有的速度增长?为什么呢?
Torvalds的:的嘛,“不混帐» - 当然。但它提供的事实,有人会写一个相应的Git:某些分布式SLE,这将是有效的,和Git。我们绝对需要类似的Git。

是什么在GitHub上您目前的看法?
Torvalds的:的Github上是举办一个特殊的资源;我对他绝对没有。投诉我有是,作为一个开发平台GitHub的事实 - 提交上拉rekvest,跟踪问题等历史 - 不工作不够好。它甚至还没有接近,不喜欢的东西,如Linux内核。太有限了。

这部分是关于如何在Linux内核开发,但部分也是因为接口GitHub的积极鼓励不良行为。做出承诺在GitHub上的意见都包含这些提交,等等,仅仅是因为在GitHub上的Web界面,积极鼓励不良行为。他们修正了一些这些东西,所以这可能工作得更好,但它永远不会适合像Linux内核。

什么是最有趣的使用Git和/或GitHub上,你见过吗?
Torvalds的:的,我很高兴他(GIT),因此促进了新推出的项目。主持该项目刚发表了很多苦,但随着Git和GitHub上做任何小的项目的出现是那么容易。无论该项目是什么,重要的是你可以做什么。

你有任何副作用工程“,在洞”?一些精彩的项目,将在软件开发占主导地位在未来几年?
Torvalds的:的任何计划。但是,我会让你知道,如果这些计划都改变了。

PS:意见和建议,欢迎以提高翻译质量转移。

来源: geektimes.ru/post/248744/