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

GitHub

维基百科,自由的百科全书
跳转至: 导航搜索
GitHub
GitHub logo 2013 padded.svg
公司类型 私人
创始人 Tom Preston-Werner
Chris Wanstrath
PJ Hyett
CEO Chris Wanstrath
总部地点 美国加利福尼亚州旧金山
产业 软件
所有者 GitHub, Inc.
网址 github.com
Alexa排名
网站类型 Git版本库托管
注册 可选(建立和参与项目时需要)
语言 英文
现状 在线
GitHub的吉祥物「章魚貓」(英语:Octocat

GitHub是一个利用Git进行版本控制、专门用于存放软件代码与内容的共享虚拟主机服务英语Shared web hosting service。它由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails编写而成。

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

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

提供的服务[编辑]

GitHub[编辑]

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

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

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

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

开发语言[编辑]

GitHub系统由GitHub公司的开发者Chris Wanstrath开发。系统采用了Ruby on RailsErlang[8] PJ Hyett, and Tom Preston-Werner

主要功能[编辑]

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

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

仓库的许可证[编辑]

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

GitHub Enterprise[编辑]

GitHub Enterprise和GitHub的服务类似,不过它为大型企业的开发团队量身定制。[10]

Gist[编辑]

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

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

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

Student Developer Pack[编辑]

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

采用的项目[编辑]

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

统计[编辑]

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

在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个版本库。[33]

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

事件[编辑]

在中国[编辑]

網路封鎖[编辑]

2013年1月20日,中國大陸政府的防火長城利用域名污染和關鍵詞過濾等手段封鎖GitHub,令中國大陸的用戶無法直接進入。針對政府對GitHub的封鎖行動,李开复新浪微博抗議,迅速引起網民的關注,該訊息更在三小時内被轉發逾3萬2千次[36][37]。2013年1月23日,GitHub被解封,事件平息。

後來,Gist又被防火長城封鎖,但GitHub其他服務未受影響。[38]

中間人攻擊[编辑]

2013年1月26日,有中国大陆的用户在访问GitHub时发现证书无效,经检查发现,GitHub的证书变为了一自签署的X.509证书,生成时间为2013年1月25日14时29分12秒,有效期一年,故有人推测GitHub疑似遭到了中间人攻击。攻击持续了约一个小时后停止,访问恢复正常。[39] [40]

DDoS攻擊[编辑]

旁觀者攻擊[编辑]

GitHub从2015年3月26日凌晨2時左右(世界協調時間,以下簡稱為UTC)起遭到了持续的DDoS攻击。[41]GitHub在其部落格称,这次攻击是GitHub历史上最严重的一次DDoS攻击,[42] GitHub堅信攻擊者的目的在於迫使GitHub刪除特定類型的內容。[42][43][44]第三方研究者指出,此次攻击采用了HTTP劫持,百度JS脚本文件中间人植入了攻击GitHub的代码,其功能是每隔2秒加载一次GreatFire纽约时报中文网的帳號主頁。[45]百度已否认自身产品存在安全问题。[46]。这次攻击导致GitHub在全球范围内的访问速度下降。[47]外界普遍相信這是中國政府所為,但中国政府予以否认。[43] [48] 3月28日(UTC+8)起,GitHub在中国大陆十分不稳定,多数情况下无法访问。[49]截止29日,攻击者共使用了四種DDoS攻擊技術:

  1. 第一輪,利用中國大陸以外的網民與翻牆的網民瀏覽被劫持的百度JavaScript檔案,該檔案每2秒向GitHub上的两个頁面發出請求,被GitHub的彈窗警告攔住;
  2. 第二轮,跨網域<img>攻擊,被GitHub检查Referer攔住;
  3. 第三輪,DDoS攻擊GitHub Pages
  4. 第四輪,SYN flood,利用TCP協定缺陷发送大批伪造的TCP連線請求,耗盡GitHub的資源。[50]
使用Traceroute追踪TTL来证明中国政府对GitHub发动攻击

根據系統狀態訊息頁面的顯示,已於3月31日停止了網路攻擊,該日凌晨0:09分(UTC)已經穩定。GitHub在其Twitter與微博予以了證實。至此,此網路攻擊共持續了五天。

3月30日(UTC+8),中國外交部发言人在例行記者會上被媒体问及此事时,不承認也不否認网络攻击與中國政府有關,称“中国历来是网络攻击的受害国”、“近期似乎只要是美国或者其他哪个国家有网站受到攻击,就会有人联想是不是中方黑客所为,这很奇怪。”[51][52]

4月1日,美國總統歐巴馬簽署了一項政令,授权的内容為:凡參與由美國境外授意或實施,且对“美国的国家安全、外交政策、经济状况,或者金融稳定造成重大威胁”的駭客,将採取旅行與金融方面的制裁。[53]

5月8日,美國國務院發言人Jeff Rathke稱,美国聯邦政府已要求中国當局调查相关的網路攻擊并告知调查结果。[54]

再遭攻擊[编辑]

2015年8月,中國政府進一步收緊對網際網路的控制。22日,翻牆軟體Shadowsocks作者迫於警方壓力刪除項目。25日,翻牆軟體GoAgent作者自行刪除自己的代碼。同一天GitHub再次遭到來自中國大陸的DDoS攻擊。[55][56]开发者普遍认为此次攻击与中国政府有关。[57]

参见[编辑]

参考资料[编辑]

特殊[编辑]

  1. ^ github.com Site Overview. Alexa Internet, Inc. [2014-07-21] (英文). 
  2. ^ Git User's Survey 2009
  3. ^ GitHub Press Info. github.com. Github. [2015-03-30]. 
  4. ^ 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]. During recent years, GITHUB (2008) has become the largest code host in the world. 
  5. ^ Weis, Kristina. GitHub CEO and Co-Founder Chris Wanstrath Keynoting Esri’s DevSummit!. 2014-02-10. in 2007 they began working on GitHub as a side project 
  6. ^ Preston-Werner, Tom. GitHub Turns One!. GitHub. 19 October 2008 [2014-03-28]. 
  7. ^ Catone, Josh. GitHub Gist is Pastie on Steroids. 24 July 2008. 
  8. ^ Interview with Chris Wanstrath. Doeswhat.com. 2012-03-06 [2013-02-26]. 
  9. ^ Weinhoffer, Eric. GitHub Now Supports STL File Viewing. 2013-04-09. 
  10. ^ Introducing GitHub Enterprise. GitHub. [13 July 2014]. 
  11. ^ Preston-Werner, Tom. God's memory leak - a scientific treatment. RubyFringe. 2008-07-20 [2014-10-21]. He previewed the upcoming git feature gist 
  12. ^ 翻墙 | iaskfq:小组长的2014. 中国数字时代. 
  13. ^ 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.
  14. ^ Working With Git. Avogadro. 
  15. ^ cryos's avogadro at master. GitHub. 
  16. ^ Wanstrath, Chris. jQuery!. GitHub blog. 29 October 2009. 
  17. ^ Mint to use Launchpad for translations, bugs, blueprints and github for code hosting and version control. The Linux Mint Blog. 22 July 2009. 
  18. ^ Smart, Chris. Miscellaneous News. DistroWatch Weekly. 27 July 2009, (313). 
  19. ^ GitFAQ - Mono
  20. ^ Mono Project - GitHub
  21. ^ FrictionalGames' PenumbraOverture at master. GitHub. 
  22. ^ Penumbra: Overture goes Open Source!. Frictional Games. 
  23. ^ Chacon, Scott. Perl Mirror on GitHub. GitHub blog. 23 December 2008. 
  24. ^ Wall, Larry. Perl's first commit. GitHub. 18 December 1987. 
  25. ^ phpBB moves source code versioning from Subversion to Git. phpBB. 
  26. ^ Tomas's prey at master. GitHub. 
  27. ^ Git Version Control. Rails Wiki. 
  28. ^ rails's rails at master. GitHub. 
  29. ^ Sinatra. 
  30. ^ sproutcore. GitHub. 
  31. ^ collaborativetrust's WikiTrust at master. GitHub. 
  32. ^ Wanstrath, Chris. Hotkeys and Wikis. GitHub. 18 February 2008. 
  33. ^ Dascalescu, Dan. The PITA Threshold: GitHub vs. CPAN. Dan Dascalescu's Wiki. 3 November 2009. 
  34. ^ Those are some big numbers. GitHub blog. 20 April 2011. 
  35. ^ GitHub celebrates fifth birthday, 3.5 million users and six million repositories. ZDNet. 11 April 2013. 
  36. ^ 程序员叫苦 李开复质疑. 南方都市报. 2013-01-23 [2013-01-23]. 
  37. ^ Programmers angry over blocking of GitHub code-sharing site. 南华早报. 2013-01-24 [2013-01-24]. 
  38. ^ http://www.solidot.org/story?sid=41709
  39. ^ 中国国家防火墙对GitHub进行了中间人攻击. solidot. 2013-01-26 [2013-01-26]. 
  40. ^ 中国, GitHub 和中间人攻击. greatfire. 2013-01-30 [2013-01-30]. 
  41. ^ GitHub System Status Messages
  42. ^ 42.0 42.1 Large Scale DDoS Attack on github.com. GitHub's blog. March 27, 2015 [2015-03-31] (英文). 
  43. ^ 43.0 43.1 陳曉莉. GitHub遭遇史上最大規模DDoS攻擊,反中國網路防火牆專案被鎖定. 台灣iThome. 2015-03-30 [2015-03-30] (中文(台灣)‎). 
  44. ^ GitHub DDoS 攻击还在继续,百度否认与其有关. 奇客Solidot.org. 2015-03-28 [2015-03-30] (中文(中国大陆)‎). 
  45. ^ insight-labs. 百度统计js被劫持用来DDOS Github. 乌云知识库. 
  46. ^ 百度在线網络技术(北京)有限公司. 百度安全攻防实验室的微博. 
  47. ^ GitHub. GitHub System Status. 
  48. ^ 海寧. 中共借刀杀人 利用海外华人发起DDoS攻击. 大紀元新聞網. 2015-03-27 [2015-03-30] (中文(简体)‎). 
  49. ^ Github证实遭到DDoS攻击,HTTP劫持已停止. 奇客Solidot. 2015-03-27 (中文(中国大陆)‎). 
  50. ^ 对GitHub的大规模DDoS攻击已超过80个小时. 奇客Solidot. 2015-03-30 [2015-03-30] (中文(中国大陆)‎). 
  51. ^ 2015年3月30日外交部发言人华春莹主持例行记者会. 中华人民共和国外交部. 2015-03-30 [2015-04-04]. 
  52. ^ 丁雨、苏静. 美媒硬指中国公司搞网络攻击 中方:美方想法很奇怪. 环球时报. 2015-03-30 [2015-04-04]. 
  53. ^ Peter Baker. Obama Expands Options for Retaliating Against Foreign Hackers. 紐約時報. 2015-04-02 [2015-04-18] (英文). 
  54. ^ 侯雪苹、程芳. 美国要求中国调查针对美国网站的网络攻击活动. 路透社中文網. 2015-05-11 [2015-05-12] (中文(简体)‎). 
  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. (简体中文)
  57. ^ Catalin Cimpanu. Recent GitHub DDOS Linked to Chinese Government and Two GitHub Projects. Softpedia. 2015-08-29. (英文)

普通[编辑]

外部链接[编辑]