本页使用了标题或全文手工转换

GitHub

维基百科,自由的百科全书
(重定向自Github
跳到导航 跳到搜索
GitHub
Font Awesome 5 brands github.svg GitHub logo 2013 padded.svg
公司类型 子公司
网站类型 私人公司Git版本库托管
语言 英文
成立 2008年2月,​12年前​(2008-02
總部  美國加利福尼亚州旧金山
業務範圍 全球
持有者 微軟
创始人 Tom Preston-Werner
Chris Wanstrath
PJ Hyett
代表人物 Chris Wanstrath英语Chris Wanstrath首席执行官
PJ Hyett(首席运营官
产业 软件
员工 888[1]
网址 官方网站 在维基数据上编辑此内容
Alexa排名
商业性质
注册 可选(建立和参与项目时需要)
用户 4000万 (2019年8月)
现状 在线

GitHub是通过Git进行版本控制的软件源代码托管服务平台,由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails编写而成。

GitHub同时提供付费账户和免费账户。这两种账户都可以建立公开或私有的代码仓库,但付费用户支持更多功能。根据在2009年的Git用户调查,GitHub是最流行的Git存取站点。[3]除了允许个人和组织建立和存取保管中的代码以外,它也提供了一些方便社会化共同软件开发的功能,即一般人口中的社群功能,包括允许用户追蹤其他用户、组织、软件库的动态,对软件代码的改动和bug提出评论等。GitHub也提供了图表功能,用于概觀显示开发者们怎样在代码库上工作以及软件的开发活跃程度。

截止到2015年,GitHub已经有超过两千八百万注册用户[4]和5700万代码库。[5]事实上已经成为了世界上最大的代码存放网站和开源社区。[6]

2018年6月4日晚上,美国科技公司微软宣布以75亿美元的股票收购GitHub[7][8][9]

提供的服务[编辑]

GitHub[编辑]

GitHub平台于2007年10月1日开始开发。[10][11]网站于2008年2月以beta版本开始上线,4月份正式上线。[12]

GitHub里面的项目可以透過标准的Git命令进行访问和操作。同时,所有的Git命令都可以用到GitHub项目上面。GitHub开发了针对Microsoft WindowsmacOS操作系统的桌面客户端。此外,也可以使用第三方插件来实现Git功能。

网站提供了一系列社交网络具有的功能,例如讚(star)、关注(follow)、评论。用户可以透過複刻(fork)他人项目的形式参与开发,并可透過协作示意图英语Collaboration graph来查看有多少开发者参与了开发并追踪最新的複刻版本。此外网站还有Wiki(透過一个名为 gollum 的软件实现)等功能。

GitHub同时允许注册用户和非注册用户在网页中浏览项目,也可以以ZIP格式打包下载。但是用户必须注册一个账号然后才能进行讨论、创建并编辑项目、参与他人的项目和代码审查

GitHub支持建立不限数量的公开仓库,已付费用户可以建立私有仓库。2019年1月7日,GitHub宣布免费用户也可以建立私有仓库,私有仓库数量不限但每个仓库最多指定三个合作者[13]。2020年4月14日,GitHub宣布进一步开放核心功能,取消私有仓库合作者数量限制,并降低了收费账号费用[14]

开发语言[编辑]

GitHub系统由GitHub公司的开发者Chris Wanstrath开发。系统采用了Ruby on RailsErlang作为后端。[15]

主要功能[编辑]

GitHub通常用于软件开发。GitHub还支持以下格式和功能:

  • 文档:包括自动生成的、采用类Markdown语言的Readme文件(称作GitHub Flavored Markdown, GFM)。
  • 问题追踪系统(同时可用于功能需求)
  • Wiki
  • GitHub Pages支持用户透過软件仓库建立静态网站或静态博客(透過一个名为Jekyll的軟體实现,但是也支持采用诸如 Hexo 等其他博客引擎搭建)。
  • 任务列表
  • 甘特图
  • 可视化的地理位置分析
  • 预览3D渲染文件。[16]预览功能通过WebGLThree.js实现。
  • 预览Adobe Photoshop的PSD文件,甚至可以比较同一文件的不同版本。

仓库的许可证[编辑]

GitHub的许可条款并不要求公有仓库满足自由软件标准。在建立软件仓库时,GitHub会询问用户准备采取的软件许可证,此外用户也可以使用自己的许可证。

GitHub Enterprise[编辑]

GitHub Enterprise和GitHub的服务类似,不过它为大型企业的开发团队量身定制,并可提供自托管版本服务器软件。[17]

GitHub Pages[编辑]

GitHub Pages是GitHub提供的一个网页寄存服务,可以用于存放静态网页,包括博客、项目文档甚至整本书。[18]一般GitHub Pages的网站使用github.io的子域名,但是用户也可以使用第三方域名。

Gist[编辑]

GitHub提供一个粘贴箱英语Pastebin风格的站点GitHub Gist。

Tom Preston-Werner于2008年开发了Gist功能。[19]Gist继承了粘贴箱英语Pastebin的观念,此外还添加了版本控制、复刻、SSL加密等功能。因为代码片段也是Git仓库,所以单个代码片段可以容纳多个文件,并且可以通过Git进行操作。因此Gist更像一个小型项目。

2014年11月2日,Gist在中国大陆被防火长城屏蔽,无法正常访问。[20]

Student Developer Pack[编辑]

GitHub与Algolia、BitnamiCrowdflower英语CrowdFlowerDigitalOceanDNSimple英语DNSimple、GitKraken、Heroku、HackHands、JetBrains、Namecheap英语Namecheap、Orchestrate、Screenhero、SendGrid英语SendGridStripeTravis CI虚幻引擎等共同合作,于2014年10月7日发起了一个名为GitHub学生开发者套装的项目。该项目为学生提供了一些免费的开发工具和服务。[21]

采用的项目[编辑]

許多程式庫、開發框架都採用GitHub作為为主版本控制平台,其中包括:

统计[编辑]

GitHub于2008年2月运行。[40]

在2009年2月24日通过雅虎进行的一次采访中,GitHub队伍成员们宣布在GitHub运行的第一年,有共计46,000个公共版本库,它们中有17,000个是于最近一个月内创建的。当时,大概有6,200个版本库被派生(fork)至少一次,有4,600被合并。在另一个在2009年6月27日通过雅虎的采访中,Tom Preston-Werner宣布版本库数量已经提升到了90,000唯一性公共版本库,有12,000个版本库被派生(fork)至少一次,总共有135,000个版本库。[41]

在2010年6月,GitHub宣布它现在已经可提供1百万项目,它们中的60%是完整的版本库,但仍然有40%是“gist”或代码片段。2011年4月,GitHub宣称存放的代码库数量已达到2百万个。[42]2013年4月,GitHub用户数达到350万,代码库数量达到6百万个。[43]

事件[编辑]

GitHub被封锁[编辑]

GitHub曾在中国、俄罗斯和印度等国被审查和封锁,雖然此網站是單純的技術社群一般較少具政治敏感訊息的議題,但相關代碼可用於開發突破网络审查等線上隱蔽軟體或者中间件;同时因其具有较方便的协作功能特性,因此有部分用于非代码的政治诉求或敏感内容,因此相关政府要求对于该种信息进行管制。GitHub在收到政府对某一仓库的管制请求时,会将公文公开在官方仓库github/gov-takedowns[44]

  • 2013年1月20日,中国大陆政府的防火長城利用域名污染和關鍵詞過濾等手段封鎖GitHub。[45][46]23日,GitHub被解封,事件平息。
  • 2013年1月26日,有中国大陆的用户在访问GitHub时发现证书无效,经检查发现,GitHub的证书变为了一自签署的X.509证书,生成时间为2013年1月25日14时29分12秒,有效期一年,故有人推测GitHub疑似遭到了中间人攻击。攻击持续了约一个小时后停止,访问恢复正常。[47][48]
  • 2014年12月3日,GitHub因用户发布自杀教学内容而被俄罗斯封锁。[49]
  • 2014年12月31日,GitHub等32个网站因用户发布的伊斯兰国相关内容而被印度封锁。[50]2015年1月10日,GitHub被解封,但2015年9月12日GitHub在整个印度又被封锁。
  • 2015年3月26日,GitHub遭受了GitHub历史上最严重的阻斷服務攻擊[51]GitHub堅信攻擊者的目的在於迫使GitHub刪除特定類型的內容。[51]截止29日,攻击者共使用了四種DDoS攻擊技術。[52]攻击于31日停止。外界有人傳聞這是中國政府所為,但中国政府予以否认。[53][54]该攻击工具也被称为“大炮”。
  • 2015年8月,中國政府進一步收緊對網際網路的控制。22日翻牆軟體Shadowsocks作者迫於警方壓力刪除項目。25日,翻牆軟體GoAgent作者自行刪除自己的代碼。同一天GitHub再次遭到來自中國大陸的DDoS攻擊。[55][56]部分开发者认为此次攻击与中国政府有关。[57]
  • 2016年2月29日,編程隨想的博客Github上發佈了《趙家人》專案,整理出据称为中国大陆权贵阶层包括130多个家族、700多人的资料和关系网络。6月8日,中国网络空间安全协会致信GitHub,称该项目下的一个issue诽谤中华人民共和国最高领导人习近平有谋杀嫌疑,要求立刻删除。这个题为“習近平有重大殺人嫌疑!”的issue列举了16条指控习近平犯下谋杀罪行的理由,在2020年2月已有2095个评论,至今仍然保持开放。该issue的作者用户名为CMB-news,其于Github上的个人主页显示该用户仅在2016年做出了数个不含任何代码的编辑,此后便无活动,亦未见其与项目zhao的正式关联。3天后GitHub公开了这封信。这是GitHub收到的第一个来自代表中国大陆官方的请求[58]

GitHub封锁他人[编辑]

  • 2019年5月,GitHub更新了用户协议,表明GitHub的产品和服务适用于美国出口管制法律[59]
  • 2019年7月起,GitHub基于美国出口管理条例,开始对伊朗叙利亚和克里米亚的私人repo和付费账户实施限制[60][61][62],2020年4月起一個名為Aurelia的軟體代碼被GitHub封鎖引起較大紛爭,其理由為參與的兩個志願者為伊朗人,引起該程式諸多志願者不滿並於硅谷的「 黑客新闻 」论坛大舉批判,後續GitHub改變作法重新啟動Aurelia頁面但封鎖兩個伊朗人帳號,之前並發生過一名為Hamed Saeed的開發者已經移民芬蘭多年但祖籍為伊朗而被封鎖的事件。[63]此事件引發一個後續討論,美國訂定的制裁他國法案僅限於不讓特定外國人使用美國技術,然而GitHub上的技術是各國志願者撰寫並無償分享,並非美國購買有版權的所有物,[64]其中也包含伊朗程式員也就是其實有伊朗的技術,美國無權拿不屬於自己的東西制裁別人甚至「拿伊朗的技術制裁伊朗」。GitHub最后在爭議下覺得有所理虧而改變作法,被封禁的用户可以下載回自己的作品,但依然不能在社区里查看代码。[65][66]

其他事故[编辑]

2020年3月26日,中国大陆多地用户访问GitHub Pages时发现遭遇中间人攻击证书变为一张通过私人QQ邮箱自签名的证书,生成时间为2019年9月26日。部分地区遭受攻击数小时后停止,[67]但也有部分地区持续遭受攻击1-2天且证书变为了另一张使用MyMail自签名的证书[68]DNSMon系统的证书信息顯示同一时间京东等網站也遭到了相同攻击[69],尚无证据证明此次事件与审查有关。[70]

趣聞[编辑]

因GitHub開源社群性別嚴重失衡,男性群體高達95%以上[71],故GitHub常被網友們戲稱為「GayHub」、「全球最大同性交友網站」[72]

参考资料[编辑]

  1. ^ GitHub Diversity. GitHub. [2019-05-19]. (原始内容存档于2019-05-19). 
  2. ^ github.com Site Overview. Alexa Internet, Inc. [2016-08-19]. (原始内容存档于2017-11-20) (英语). 
  3. ^ Git User's Survey 2009. Survs.com. [2018-06-04]. (原始内容存档于2018-02-21). 
  4. ^ User search. GitHub. [June 5, 2018]. (原始内容存档于2019-10-16) (英语). Showing 28,337,706 available users 
  5. ^ Celebrating nine years of GitHub with an anniversary sale. github.com. Github. [April 11, 2017]. (原始内容存档于2017-04-28). 
  6. ^ Georgios Gousios; Bogdan Vasilescu; Alexander Serebrenik; Andy Zaidman. Lean GHTorrent: GitHub Data on Demand (PDF). The Netherlands: Delft University of Technology & †Eindhoven University of Technology: 1. [9 July 2014]. (原始内容 (PDF)存档于2014年7月14日). During recent years, GITHUB (2008) has become the largest code host in the world. 
  7. ^ Dave Lee. Microsoft buys Github code-sharing site for $7.5bn. BBC News. 2018-06-04 [2018-06-06]. (原始内容存档于2018-06-06) (英语). 
  8. ^ defunkt. A bright future for GitHub. The GitHub Blog. 2018-06-04 [2018-06-06]. (原始内容存档于2018-06-06) (英语). 
  9. ^ Satya Nadella. Microsoft + GitHub = Empowering Developers. The Official Microsoft Blog. 2018-06-04 [2018-06-06]. (原始内容存档于2018-06-06) (英语). 
  10. ^ Weis, Kristina. GitHub CEO and Co-Founder Chris Wanstrath Keynoting Esri’s DevSummit!. 2014-02-10 [2015-07-02]. (原始内容存档于2014-07-14). in 2007 they began working on GitHub as a side project 
  11. ^ Preston-Werner, Tom. GitHub Turns One!. GitHub. 19 October 2008 [2014-03-28]. (原始内容存档于2014-04-21). 
  12. ^ Catone, Josh. GitHub Gist is Pastie on Steroids. 24 July 2008 [2015-07-02]. (原始内容存档于2015-07-02). 
  13. ^ Unlimited free private repositories with GitHub Free and a unified business offering with GitHub Enterprise. GitHub. 2019-01-07 [2019-01-08]. (原始内容存档于2019-01-08). 
  14. ^ {{cite web | url = https://help.github.com/en/github/getting-started-with-github/faq-about-changes-to-githubs-plans | title = FAQ about changes to GitHub’s plans | publisher = GitHub | date = 2020-04-14 | accessdate = 2020-04-15 | archive-url = https://web.archive.org/web/20200414205238/https://help.github.com/en/github/getting-started-with-github/faq-about-changes-to-githubs-plans | archive-date = 2020-04-15 | dead-url = no }]
  15. ^ Interview with Chris Wanstrath. Doeswhat.com. 2012-03-06 [2013-02-26]. (原始内容存档于2013-03-05). 
  16. ^ Weinhoffer, Eric. GitHub Now Supports STL File Viewing. 2013-04-09 [2015-07-02]. (原始内容存档于2015-07-01). 
  17. ^ Introducing GitHub Enterprise. GitHub. [13 July 2014]. (原始内容存档于2016-03-24). 
  18. ^ GitHub Pages. The GitHub Blog. 2008-12-18 [2020-03-29]. (原始内容存档于2020-03-29) (美国英语). 
  19. ^ Preston-Werner, Tom. God's memory leak - a scientific treatment. RubyFringe. 2008-07-20 [2014-10-21]. (原始内容存档于2008-05-13). He previewed the upcoming git feature gist 
  20. ^ 翻墙 | iaskfq:小组长的2014. 中国数字时代. [2016-01-07]. (原始内容存档于2016-02-09). 
  21. ^ By Frederic Lardinois, TechCrunch. "GitHub Partners With Digital Ocean, Unreal Engine, Others To Give Students Free Access To Developer Tools 页面存档备份,存于互联网档案馆." 7 October 2014. 7 October 2014.
  22. ^ Working With Git. Avogadro. (原始内容存档于2010-09-09). 
  23. ^ cryos's avogadro at master. GitHub. [2010-08-23]. (原始内容存档于2009-05-27). 
  24. ^ Wanstrath, Chris. jQuery!. GitHub blog. 29 October 2009 [2010-08-23]. (原始内容存档于2010-02-14). 
  25. ^ Mint to use Launchpad for translations, bugs, blueprints and github for code hosting and version control. The Linux Mint Blog. 22 July 2009 [2010-08-23]. (原始内容存档于2010-02-08). 
  26. ^ Smart, Chris. Miscellaneous News. DistroWatch Weekly. 27 July 2009, (313) [2010-08-23]. (原始内容存档于2010-01-13). 
  27. ^ GitFAQ - Mono. Mono-project.com. [2018-06-04]. (原始内容存档于2018-04-03). 
  28. ^ Mono Project. Mono Project. GitHub. [2018-06-04]. (原始内容存档于2018-06-14). 
  29. ^ FrictionalGames' PenumbraOverture at master. GitHub. [2010-08-23]. (原始内容存档于2010-06-10). 
  30. ^ Penumbra: Overture goes Open Source!. Frictional Games. [2010-08-23]. (原始内容存档于2010-05-17). 
  31. ^ Chacon, Scott. Perl Mirror on GitHub. GitHub blog. 23 December 2008 [2010-08-23]. (原始内容存档于2010-01-06). 
  32. ^ Wall, Larry. Perl's first commit. GitHub. 18 December 1987. [永久失效連結]
  33. ^ phpBB moves source code versioning from Subversion to Git. phpBB. [2010-08-23]. (原始内容存档于2010-09-24). 
  34. ^ Tomas's prey at master. GitHub. [2010-08-23]. (原始内容存档于2009-08-25). 
  35. ^ Git Version Control. Rails Wiki. [永久失效連結]
  36. ^ rails's rails at master. GitHub. [2010-08-23]. (原始内容存档于2009-09-03). 
  37. ^ Sinatra. [2020-04-06]. (原始内容存档于2020-02-27). 
  38. ^ sproutcore. GitHub. [2010-08-23]. (原始内容存档于2010-03-16). 
  39. ^ collaborativetrust's WikiTrust at master. GitHub. [2010-08-23]. (原始内容存档于2010-01-07). 
  40. ^ Wanstrath, Chris. Hotkeys and Wikis. GitHub. 18 February 2008 [2010-08-23]. (原始内容存档于2010-02-14). 
  41. ^ Dascalescu, Dan. The PITA Threshold: GitHub vs. CPAN. Dan Dascalescu's Wiki. 3 November 2009 [2010-08-23]. (原始内容存档于2011-07-08). 
  42. ^ Those are some big numbers. GitHub blog. 20 April 2011 [2014-01-15]. (原始内容存档于2014-04-21). 
  43. ^ GitHub celebrates fifth birthday, 3.5 million users and six million repositories. ZDNet. 11 April 2013 [2014-01-15]. (原始内容存档于2014-01-16). 
  44. ^ github/gov-takedowns/README.md. GitHub. [2020-04-15] (英语). 
  45. ^ 程序员叫苦 李开复质疑. 南方都市报. 2013-01-23 [2013-01-23]. (原始内容存档于2013-01-26). 
  46. ^ Programmers angry over blocking of GitHub code-sharing site. 南华早报. 2013-01-24 [2013-01-24]. (原始内容存档于2013-01-26). 
  47. ^ 中国国家防火墙对GitHub进行了中间人攻击. solidot. 2013-01-26 [2013-01-26]. (原始内容存档于2013-01-28). 
  48. ^ 中国, GitHub和中间人攻击. greatfire. 2013-01-30 [2013-01-30]. (原始内容存档于2013-06-14). 
  49. ^ Russia Blacklists, Blocks GitHub Over Pages That Refer To Suicide. [2016-07-02]. (原始内容存档于2016-05-31). 
  50. ^ GitHub, Vimeo and 30 more sites blocked in India over content from ISIS. thenextweb.com. The Next Web. 2014-12-31 [2016-07-02]. (原始内容存档于2016-07-25). 
  51. ^ 51.0 51.1 Large Scale DDoS Attack on github.com. GitHub's blog. March 27, 2015 [2015-03-31]. (原始内容存档于2015-03-28) (英语). 
  52. ^ 对GitHub的大规模DDoS攻击已超过80个小时. 奇客Solidot. 2015-03-30 [2015-03-30]. (原始内容存档于2015-03-31) (中文(中国大陆)‎). 
  53. ^ 陳曉莉. GitHub遭遇史上最大規模DDoS攻擊,反中國網路防火牆專案被鎖定. 台灣iThome. 2015-03-30 [2015-03-30]. (原始内容存档于2015-03-31) (中文(台灣)‎). 
  54. ^ 海寧. 中共借刀杀人 利用海外华人发起DDoS攻击. 大紀元新聞網. 2015-03-27 [2015-03-30]. (原始内容存档于2015-03-30) (中文(简体)‎). 
  55. ^ Andrew Blake. China tightens noose on Internet as anti-censorship tools suddenly shutter. The Washington Times. 2015-08-26. (英文)
  56. ^ GoAgent开发者删除项目,GitHub再次受到DDoS攻击. Solidot. 2015-08-25 [2016-01-07]. (原始内容存档于2016-03-06). (简体中文)
  57. ^ Catalin Cimpanu. Recent GitHub DDOS Linked to Chinese Government and Two GitHub Projects. Softpedia. 2015-08-29 [2016-01-15]. (原始内容存档于2016-05-06). (英文)
  58. ^ 吳嬙. 开源“赵家人”名单,GitHub激怒中国网安协会首出拳. 端传媒. 2016-06-28 [2020-01-13]. (原始内容存档于2020-03-27). 
  59. ^ 宪瑞. Github更新用户协议 开源代码也要受美国出口管制. 快科技. 2019-05-21 [2019-05-21]. (原始内容存档于2019-05-23) (中文(中国大陆)‎). 
  60. ^ GitHubDaily. 美国对外实行制裁,致多个地区 GitHub 账号使用受限!. GitHubDaily. 2019-07-26 [2019-08-01]. (原始内容存档于2019-08-01) (中文(中国大陆)‎). 
  61. ^ GitHubDaily. GitHub CEO 正式回应账号访问受限事件!. GitHubDaily. 2019-07-29 [2019-08-01]. (原始内容存档于2019-08-01) (中文(中国大陆)‎). 
  62. ^ 黄善清. 令人心寒的不是 Github 突然断供,而是 CEO 对此表示无能为力. 雷锋网. 2019-07-29 [2019-08-01]. (原始内容存档于2019-08-01) (中文(中国大陆)‎). 
  63. ^ 雷鋒站-GitHub是开源,最终也是政治
  64. ^ mohebifar /made-in-iran
  65. ^ 觀察者網-因为两位志愿者来自伊朗
  66. ^ GitHub惹衆怒,CEO 親自道歉
  67. ^ 有攻击者正发动中间人攻击 GitHub和京东受影响最大 - 安全. cnBeta.COM. [2020-03-26]. (原始内容存档于2020-03-26) (中文(中国大陆)‎). 
  68. ^ (动态更新中) 有黑客正在通过国内骨干网络发动大规模的中间人攻击|蓝点网. www.landiannews.com. [2020-03-28]. (原始内容存档于2020-03-27). 
  69. ^ 一些网站https证书出现问题的情况分析. 360 Netlab Blog. 2020-03-28 [2020-04-06]. (原始内容存档于2020-04-01) (中文(中国大陆)‎). 
  70. ^ GitHub 遭遇中间人攻击,访问报证书错误. OSCHINA. 2020-03-27 [2020-03-27]. (原始内容存档于2020-03-27). 
  71. ^ 陳曉莉. GitHub開源社群大調查:多數只會寫程式不會寫文件、性別嚴重失衡. iThome. 2017-06-05 [2018-06-14]. (原始内容存档于2018-06-15) (中文(台灣)‎). 
  72. ^ 火柴Q. 互联网巨头终极战场:得开发者得天下. iThome. 2017-06-13 [2018-06-14]. (原始内容存档于2018-06-15) (中文(中国大陆)‎). 

参考文献[编辑]

外部链接[编辑]

參見[编辑]