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





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

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


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

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

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

无论是增加(GIT)对你的期望的水平?它(GIT)如何以及适用于你的估计?是否有任何限制?
Torvalds的:
你怎么想,为什么(GIT)已因此被广泛采用在使用?
Torvalds的:
将Git的始终存在,或者您预见SLE在未来十年修订?你将是那些谁写的呢?
Torvalds的:
没有故作矜持;)

为什么Git的工作如此出色的Linux?
Torvalds的:
只是举例:合并的概念被看作是一件很痛苦的,困难在许多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的:
是什么在GitHub上您目前的看法?
Torvalds的:
这部分是关于如何在Linux内核开发,但部分也是因为接口GitHub的积极鼓励不良行为。做出承诺在GitHub上的意见都包含这些提交,等等,仅仅是因为在GitHub上的Web界面,积极鼓励不良行为。他们修正了一些这些东西,所以这可能工作得更好,但它永远不会适合像Linux内核。

什么是最有趣的使用Git和/或GitHub上,你见过吗?
Torvalds的:
你有任何副作用工程“,在洞”?一些精彩的项目,将在软件开发占主导地位在未来几年?
Torvalds的:
PS:意见和建议,欢迎以提高翻译质量转移。

来源: geektimes.ru/post/248744/