让我们回到2005年,Bitkeeper,当时托管着Linux内核项目,在改变它关于价格的核心策略后引发了一系列的事情。在被Andrew Tridgell创建的免费Bitkeeper复制后,内核的协议变得令人痛苦——这在开源社区是一个重要的事情。Linus Torvalds不喜欢整件事的发展(至少说起来是这样),于是开始着手构建自己的分布式版本管理系统,即Git(英国称坏人的俚语)。
他对此有名的说法是:“我是个傲慢的混蛋,所以我以己之名命名我所有的项目。第一个是Linux,现在是Git。”Mercurial是另一个为了Linux内核而开发的值得关注的替代品,Matt Mackall以相似的目的开发。Git最终获得流行,3年后Bitbucket和Github诞生了。如果存在的话,我很乐意花钱来看下整个故事的文档。 但现在这段短暂的关于repo的历史已经过去了,我们还是深入挖掘下各个服务今天能给我提供什么样的服务,并分享下我们以往收集的使用buckets和octocats的经验。 我的代码一定要公开吗?Bitbucket和Github对于私人和公开项目采用了不同的方法。这是他们售价模型的核心,或者你可能会说是他们的处事哲学。我们将在下面更多的讨论这些不同。Bitbucket提供无限的免费私人仓库,而Github对此是收费的。在两家服务里,公开仓库是无限且免费的,并且不限制贡献者的数量。 结果:不,你在Bitbucket上可以得到免费的私人仓库,却在Github上为此付费。 开源项目上哪里更加容易工作?两家在价格上的第二个区别在于——合作者的数量。Bitbucket在私人仓库上主要提供一共5人一个免费账户,而Github更加关注其公开仓库,因此它有自己的界限。尽管它们提供许多相似的代码托管特性,Github关注于开源,而Bitbucket看起来更加关注企业开发者,尤其是在2010年被Atlassian注资后。 结果:Github是开源无可争议的家园。 魔镜魔镜告诉我,fork技术哪家强?GitHub在流行度上已经完爆Bitbucket,GitHub拥有超过4百万的用户数。不过Bitbucket也不算输,它依然提供了良好的使用体验,成为了Atlassian产品套件的一部分。GitHub和Bitbucket都有漂亮的前端,提供了问题单跟踪、wiki、简单易用的REST API以及rich GUI和各种操作系统上命令行工具(Windows/Mac/Linux甚至移动端)
你可能不服,GitHub已经遥遥领先了啊? 我想说的是,其实这只是个人口味的问题而已。 就特性维度而言,Gist是GitHub相对于Bitbucket的一个杀手锏,通过gist能够能够便捷地分享代码片段,并实现有效的版本管理。这个特性在Bitbucket是否要实现,一直是一个热议的问题,不过近期内看答案应该是不会。双向认证是另一个评价颇高的GitHub特性,Bitbucket也没有实现。但是请不要忘了,Bitbucket有spoon功能,GitHub上可没有哦。 结果:这只是个人口味的差异而已。 |