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

GitHub

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

GitHub是一个通过Git进行版本控制的软件源代码托管服务,由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]

主要功能[编辑]

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]

审查与封锁[编辑]

GitHub曾在中国、俄罗斯和印度等国被审查和封锁,雖然此網站是單純的技術社群,一般不具政治敏感訊息的特徵,但相關代碼可用於開發翻牆VPN與反偵測等一系列線上隱蔽軟體,而被許多法律設定嚴苛的政府盯上。

  • 2013年1月20日,中國大陸政府的防火長城利用域名污染和關鍵詞過濾等手段封鎖GitHub。[36][37]23日,GitHub被解封,事件平息。
  • 2013年1月26日,有中国大陆的用户在访问GitHub时发现证书无效,经检查发现,GitHub的证书变为了一自签署的X.509证书,生成时间为2013年1月25日14时29分12秒,有效期一年,故有人推测GitHub疑似遭到了中间人攻击。攻击持续了约一个小时后停止,访问恢复正常。[38][39]
  • 2014年12月3日,GitHub因用户发布自杀教学内容而被俄罗斯封锁。[40]
  • 2014年12月31日,GitHub等32个网站因用户发布的伊斯兰国相关内容而被印度封锁。[41]2015年1月10日,GitHub被解封,但2015年9月12日GitHub在整个印度又被封锁。
  • 2015年3月26日GitHub遭受了GitHub历史上最严重的的DDoS攻击。[42]GitHub堅信攻擊者的目的在於迫使GitHub刪除特定類型的內容。[42]截止29日,攻击者共使用了四種DDoS攻擊技術。[43]攻击于31日停止。外界普遍相信這是中國政府所為,但中国政府予以否认。[44][45]该攻击工具也被称为“大炮”。
  • 2015年8月,中國政府進一步收緊對網際網路的控制。22日,翻牆軟體Shadowsocks作者迫於警方壓力刪除項目。25日,翻牆軟體GoAgent作者自行刪除自己的代碼。同一天GitHub再次遭到來自中國大陸的DDoS攻擊。[46][47]部分开发者认为此次攻击与中国政府有关。[48]

参见[编辑]

参考资料[编辑]

特殊[编辑]

  1. ^ github.com Site Overview. Alexa Internet, Inc. [2016-08-19] (英语). 
  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. ^ 中国国家防火墙对GitHub进行了中间人攻击. solidot. 2013-01-26 [2013-01-26]. 
  39. ^ 中国, GitHub 和中间人攻击. greatfire. 2013-01-30 [2013-01-30]. 
  40. ^ Russia Blacklists, Blocks GitHub Over Pages That Refer To Suicide. 
  41. ^ GitHub, Vimeo and 30 more sites blocked in India over content from ISIS. thenextweb.com. The Next Web. 2014-12-31. 
  42. ^ 42.0 42.1 Large Scale DDoS Attack on github.com. GitHub's blog. March 27, 2015 [2015-03-31] (英语). 
  43. ^ 对GitHub的大规模DDoS攻击已超过80个小时. 奇客Solidot. 2015-03-30 [2015-03-30] (中文(中国大陆)‎). 
  44. ^ 陳曉莉. GitHub遭遇史上最大規模DDoS攻擊,反中國網路防火牆專案被鎖定. 台灣iThome. 2015-03-30 [2015-03-30] (中文(台灣)‎). 
  45. ^ 海寧. 中共借刀杀人 利用海外华人发起DDoS攻击. 大紀元新聞網. 2015-03-27 [2015-03-30] (中文(简体)‎). 
  46. ^ Andrew Blake. China tightens noose on Internet as anti-censorship tools suddenly shutter. The Washington Times. 2015-08-26. (英文)
  47. ^ GoAgent开发者删除项目,GitHub再次受到DDoS攻击. Solidot. 2015-08-25. (简体中文)
  48. ^ Catalin Cimpanu. Recent GitHub DDOS Linked to Chinese Government and Two GitHub Projects. Softpedia. 2015-08-29. (英文)

普通[编辑]

外部链接[编辑]