为什么许多程序员将其代码移至github?


114

在过去的6个月或更长时间里,我已经看到很多代码托管在sourceforge.net以及其他托管网站“移至GitHub”上。仅使用短语“ Moved to Github”的Google搜索会返回多个结果,其中包含已移至github的文本。这对我来说非常令人困惑,我想知道,为什么人们要移动?这是否意味着GitHub更好,还是有我没有看到的一些特殊优势?


16
我还要补充一点,没有哪个站点比github更容易立即与代码进行交互。大多数站点将源代码隐藏在几个菜单后面。Github还包含指向您可以在项目主页上完成的几乎所有其他任务的链接,而无需到处都是垃圾(看着sourceforge)。
Xeoncross

2
我在想同样的事情,于是我去注册了,不久我也被卖了。我切换了所有项目,也吸引了所有客户。
lorddev

7
因为github是一个不错的地方,而git比cvs更好?

4
SourceForge开始在其开发人员的Windows二进制版本中添加广告软件。SF在韩国的分发服务器之一遭到破坏。
鹿猎人

1
Laucnpad在隐藏源代码方面更是罪魁祸首。突出的是一些“系列和里程碑”->主干->“该系列的代码:以下分支已注册为该版本系列的主线分支:lp:〜USER / PROJ / trunk”->另一个元数据中继页?代码在哪里?哦,是的,->“浏览代码” ...实际上,现在我终于注意到第一页上有“浏览代码”。但是所有这些相似但略有不同的元数据页面都令人困惑。
贝尼·切尔尼亚夫斯基-帕斯金

Answers:


102

这是向分布式版本控制系统进行更广泛移植的征兆。

传统上托管非分布式VCS的某些网站(例如Codeplex和SourceForge)在添加对DVCS的支持时(例如Git或Mercurial)有点慢。因此,想要将DVCS用于其项目的人被迫将其项目迁移到支持他们的提供商(例如Github或BitBucket)。Github是最早提供DVCS支持的公司之一,因此自然而然地有很多人将代码迁移到那里来利用它。

那些其他网站现在才刚刚开始追赶DVCS(例如Codeplex现在支持Mercurial&Git),但在分叉和提交请求请求等功能方面仍然落后。要真正利用DVCS,Github和Bitbucket仍然是最佳选择。


46
还要注意,GitHub的功能集迅速变得比任何其他DVCS托管者(包括自托管)都更具吸引力。因此,部分答案是GitHub很性感。:-)
Martijn Pieters 2012年

49
@MartijnPieters:除了BitBucket多年来一直提供的免费私人托管服务外,...
2012年

17
其他网站提供DVCS。在SourceForge的特殊情况下,我只是认为原因是该网站完全糟糕,不必管支持的版本控制系统。
Konrad Rudolph 2012年

17
@Den Yea,我真的不知道为什么BitBucket不那么受欢迎。它具有私人托管服务,让您在Git或Mercurial(我更喜欢Mercurial)之间进行选择
Earlz 2012年

11
Github和Bitbucket具有两种不同的业务模式。Github几乎免费提供其全部功能集,并让您支付私人仓库的费用(禁止向拥有.edu电子邮件地址的任何人提供免费的青铜计划。 -增加额外的功能。如果您没有理由隐藏您的代码,Github似乎更合乎逻辑。我确实认为Bitbucket即将到来-我当然喜欢Sourcetree胜过Github的本机git GUI(不是我真的使用其中一种)..
David Cowden

45

项目托管是基础架构。基础设施表现出网络效应,这意味着,与之连接的人越多,基础设施就变得越有用。(特别是,有用性是O(number_of_connections),这意味着对于任何单个成员,它都是O(total_members),对于整个系统,它是O(total_members ^ 2))。反过来,这会导致一种称为自然垄断的效应,这意味着对于这样一个系统而言,只有一个竞争者能够生存是很自然的,因为当每个人都使用相同的系统时,其效用就会最大化。

因此,加入市场领导者GitHub是有意义的。有多个仓库,更多的用户,更多的分支机构,更多的修改,更加一切都在GitHub上比在SourceForge上,谷歌代码和CodePlex上结合

当然,有趣的问题是,如果网络效应意味着市场领导者自动获得自然垄断,那么GitHub如何能够打破SourceForge的垄断?

答案是,通过被这样破坏加盟一家更小的基础设施带来的痛苦是值得的尝鲜:

  • GitHub是第一个为Git托管提供与SourceForge(或至少是大多数人使用的SourceForge的部分)相当的功能集
  • 从UI的角度来看,GitHub很酷:光滑的现代Web UI
  • GitHub在技术上很酷:Ruby on Rails,Sinatra,Erlang,node.js
  • GitHub是Web 2.0,专注于社交编码和项目上的用户

6
+1用于网络效果说明。但是我真的认为SourceForge在突然大量迁移之前比Github大得多……而且您几乎听起来像Github的雇员……
Chibueze Opata 2012年

2
此外,考虑为Windows客户端创建 GitHub-作为Windows开发人员,这是第一次,在使用Git进行源代码控制时,我不觉得自己是二流公民,而GitHub负责。
Carson63000

25

我认为原因之一是受众不同:sourceforge主要用于托管应用程序,项目页面最突出的功能可能是指向已编译的可执行文件(或其他下载文件)的链接。换句话说,它是针对用户而不是开发人员的。

另一方面,github主要用于托管源代码,项目页面最突出的功能是master分支的目录列表。它针对的是开发人员(想要修改或使用项目中的代码),而不是用户。

我认为这是针对开发人员的工具和库转向github的原因之一。


15

Sourceforge 还提供了Git,但是Github更好(目前)。

  • 他们的请求请求系统运行良好(例如,比Gitorious更好)
  • 他们最近升级的通知非常方便。
  • 他们立即显示代码

我认为,他们的杀手级功能是“网络图”:

在此处输入图片说明

与的不同gitk:它还向您显示了其他人的分支机构中正在发生的事情(而不必拉扯他们的分支机构),这在进行协作时非常重要。


10
+1我们都知道,最后,图形才是最重要的。
Xeoncross 2012年

2
寻找维护最完善的分支机构也很棒。我最近不得不找到某个存储库的哪个分支实际上得到了维护(这很简单,因为最新的分支还没有浮现在Google搜索的顶部)。
Beatgammit,

1
另外,似乎github可以显示克隆统计信息,而我找不到在sourceforge上实现此目的的单一方法:(
Aquarius Power

11

GitHub简单,易用,易于上手,功能强大且外观精美,并且具有Web 2.0风格。

我使用GitHub,我发现它比SourceForge更加易于使用,后者的功能隐藏在一系列菜单中,并且需要相当复杂的操作才能进行设置。我是一名程序员。

此外,我认为还有一个更强大的功能:无论是个人希望在某个地方发布其第一个开源项目,还是想要在商业(私人)项目上进行协作的团队,GitHub几乎都能很好地“扩展”用例。

归根结底,我认为这与人类心理学有关。该产品易于使用,易于使用,价格便宜(或免费)...看起来不错,并且我会推荐给朋友们吗?对于GitHub,我将对所有这些问题回答“是”。


使用Google代码,我可以为问题加注标,这使开发人员可以知道哪些问题对社区很重要,并可以帮助我跟踪进度。Github似乎只有匿名追随者,这可能导致垃圾评论(+1,我也是,等等)。这对于资源有限的热门项目而言意义重大。
Beatgammit,

5

您还必须考虑到github提供的一些非常出色的功能,这些功能我还没有提到。

  • 带有github风格markdown的github页面
  • github移动应用
  • github eclipse插件
  • 适用于Mac的github
  • github工作
  • 适用于Windows的github
  • github票务/错误跟踪系统
  • github开发人员API,可实现无缝的第三方集成
  • 频繁的UI更新/增强(您可以从字面上看到从一天到下一天的变化,即搜索文本框现在可以动态地聚焦于焦点,成为新的星形按钮,等等)
  • github gists(适用于实用程序脚本,短代码段等)
  • 通过Hub无缝github集成

其他站点可能具有这些功能,但是我敢肯定没有其他站点可以全部具备这些功能。

这些家伙几乎无处不在...慢慢地将他们的技术优势分散到整个网络和台式机上。随着我们的讲话,他们只会变得越来越大,越来越好,他们聘请了最优秀的工程师(他们甚至设法从Microsoft手中抢走了Phil Haack ...去吧)。


4

可能吸引其他开发人员加入GitHub的另一个原因是,开发人员工具开始采用git,并且像Eclipse这样的平台现在已经内置了Git支持(适用于Java,C ++开发人员等软件包),将您的项目上传到GitHub所需的步骤更少。


1
另一个添加了Git支持的IDE是Visual Studio(2013年及更高版本)。有关详细信息,请参见msdn.microsoft.com/en-us/library/hh850437.aspx
Bernard Vander Beken 2015年

-1

老实说,当我看到Git时,对我来说最重要的事情是:1.网络图或我应该调用历史记录(也要评论)2.分支和请求请求3.它更强大,实际上,我会说是这样感觉就像我有一个秘书负责我的所有工作,我可以告诉我该秒为我写下了任何东西,更改和所有内容!4.很容易回滚

只是它。使用它感到性感


嗯,为什么我跌倒了?
Benyamin Limanto

虽然我认为您有很好的回答这个问题的意图,但我认为您的回答并不能满足OP的要求。这听起来像是您对“为什么程序员将代码移至github?”的回答。是“因为我喜欢”。这里的其他答案可能会更好,这就是为什么有人投票的原因。
Frank Bryce
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.