GitHub















body.skin-minerva .mw-parser-output table.infobox caption{text-align:center}





































































GitHub

GitHub logo 2013 padded.svg
网站类型
Git版本库托管
语言
英文
成立
2008年2月,​10年前​(2008-02
總部
美国加利福尼亚州旧金山
業務範圍
全球
持有者
微軟
创始人
Tom Preston-Werner
Chris Wanstrath
PJ Hyett
代表人物
Chris Wanstrath英语Chris Wanstrath(首席执行官)
PJ Hyett(COO
产业
软件
员工
768(2018年2月)[1]
网站
github.com

Alexa排名




  •  世界 67 8


  •  美國 40


  •  中國 56[2]



商业性质
注册
可选(建立和参与项目时需要)
用户
2600万(2017年3月)
现状
在线

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已经有超过两千八百万注册用户和7900万代码库。[1]事实上已经成为了世界上最大的代码存放网站和开源社区。[4]


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




目录






  • 1 提供的服务


    • 1.1 GitHub


      • 1.1.1 开发语言


      • 1.1.2 主要功能


      • 1.1.3 仓库的许可证




    • 1.2 GitHub Enterprise


    • 1.3 Gist


    • 1.4 Student Developer Pack




  • 2 采用的项目


  • 3 统计


  • 4 审查与封锁


  • 5 趣聞


  • 6 参考资料


  • 7 参考文献


  • 8 外部链接


  • 9 參見





提供的服务



GitHub


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


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


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


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


GitHub支持建立不限数量的公开仓库,已付费用户可以建立私有仓库。2019年1月7日,GitHub宣布免费用户也可以建立私有仓库,私有仓库数量不限但每个仓库最多指定三个合作者[11]



开发语言


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



主要功能


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



  • 文档:包括自动生成的、采用类Markdown语言的Readme文件。

  • 问题追踪系统(同时可用于功能需求)

  • Wiki

  • GitHub Pages支持用户透過软件仓库建立静态网站或静态博客(透過一个名为Jekyll的軟體实现)。

  • 任务列表

  • 甘特图

  • 可视化的地理位置分析

  • 预览3D渲染文件。[13]预览功能通过WebGL和Three.js实现。

  • 预览Adobe Photoshop的PSD文件,甚至可以比较同一文件的不同版本。



仓库的许可证


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



GitHub Enterprise


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



Gist


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


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


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



Student Developer Pack


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



采用的项目


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





  • Avogadro[18][19]

  • Blueprint CSS框架

  • BlogBridge英语BlogBridge

  • Bootstrap

  • 我的世界

  • Capistrano

  • CyanogenMod

  • cicada language

  • Clojure

  • Dada Mail英语Dada Mail

  • Erlang

  • Eureka Streams英语Eureka Streams

  • GNU Smalltalk英语GNU Smalltalk

  • OpenFrameworks英语OpenFrameworks

  • Haml


  • jQuery[20]

  • JUnit

  • Lift


  • Linux Mint[21][22]

  • Merb英语Merb


  • Mono[23][24]

  • MooTools英语MooTools


  • Penumbra: Overture英语Penumbra: Overture [25][26]


  • Perl[27][28]

  • PHP


  • phpBB[29]


  • Prey Project[30]

  • Prototype JavaScript框架

  • RSpec英语RSpec

  • Rubinius英语Rubinius

  • Ruby


  • Ruby on Rails[31][32]

  • script.aculo.us英语script.aculo.us


  • Sinatra[33]


  • SproutCore英语SproutCore[34]

  • Symfony


  • WikiTrust英语WikiTrust[35]

  • Kodi

  • 雅虎UI库

  • Yaws




统计


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


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


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



审查与封锁



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



  • 2013年1月20日,中国大陆政府的防火長城利用域名污染和關鍵詞過濾等手段封鎖GitHub。[40][41]23日,GitHub被解封,事件平息。

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

  • 2014年12月3日,GitHub因用户发布自杀教学内容而被俄罗斯封锁。[44]

  • 2014年12月31日,GitHub等32个网站因用户发布的伊斯兰国相关内容而被印度封锁。[45]2015年1月10日,GitHub被解封,但2015年9月12日GitHub在整个印度又被封锁。

  • 2015年3月26日,GitHub遭受了GitHub历史上最严重的阻斷服務攻擊。[46]GitHub堅信攻擊者的目的在於迫使GitHub刪除特定類型的內容。[46]截止29日,攻击者共使用了四種DDoS攻擊技術。[47]攻击于31日停止。外界普遍相信這是中國政府所為,但中国政府予以否认。[48][49]该攻击工具也被称为“大炮”。

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



趣聞


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



参考资料





  1. ^ 1.01.1 About Github. GitHub. [2018-02-28] (英语). 


  2. ^ github.com Site Overview. Alexa Internet, Inc. [2016-08-19] (英语). 


  3. ^ Git User's Survey 2009. Survs.com. [2018-06-04]. 


  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]. (原始内容 (PDF)存档于2014年7月14日). During recent years, GITHUB (2008) has become the largest code host in the world. 


  5. ^ Dave Lee. Microsoft buys Github code-sharing site for $7.5bn. BBC News. 2018-06-04 [2018-06-06]. (原始内容存档于2018-06-06) (英语). 


  6. ^ defunkt. A bright future for GitHub. The GitHub Blog. 2018-06-04 [2018-06-06]. (原始内容存档于2018-06-06) (英语). 


  7. ^ Satya Nadella. Microsoft + GitHub = Empowering Developers. The Official Microsoft Blog. 2018-06-04 [2018-06-06]. (原始内容存档于2018-06-06) (英语). 


  8. ^ 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 


  9. ^ Preston-Werner, Tom. GitHub Turns One!. GitHub. 19 October 2008 [2014-03-28]. 


  10. ^ Catone, Josh. GitHub Gist is Pastie on Steroids. 24 July 2008. 


  11. ^ Unlimited free private repositories with GitHub Free and a unified business offering with GitHub Enterprise. GitHub. 2019-01-07 [2019-01-08]. 


  12. ^ Interview with Chris Wanstrath. Doeswhat.com. 2012-03-06 [2013-02-26]. 


  13. ^ Weinhoffer, Eric. GitHub Now Supports STL File Viewing. 2013-04-09. 


  14. ^ Introducing GitHub Enterprise. GitHub. [13 July 2014]. 


  15. ^ Preston-Werner, Tom. God's memory leak - a scientific treatment. RubyFringe. 2008-07-20 [2014-10-21]. He previewed the upcoming git feature gist 


  16. ^ 翻墙 | iaskfq:小组长的2014. 中国数字时代. 


  17. ^ 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.


  18. ^ Working With Git. Avogadro. (原始内容存档于2010-09-09). 


  19. ^ cryos's avogadro at master. GitHub. 


  20. ^ Wanstrath, Chris. jQuery!. GitHub blog. 29 October 2009. 


  21. ^ Mint to use Launchpad for translations, bugs, blueprints and github for code hosting and version control. The Linux Mint Blog. 22 July 2009. 


  22. ^ Smart, Chris. Miscellaneous News. DistroWatch Weekly. 27 July 2009, (313). 


  23. ^ GitFAQ - Mono. Mono-project.com. [2018-06-04]. 


  24. ^ Mono Project. Mono Project. GitHub. [2018-06-04]. 


  25. ^ FrictionalGames' PenumbraOverture at master. GitHub. 


  26. ^ Penumbra: Overture goes Open Source!. Frictional Games. 


  27. ^ Chacon, Scott. Perl Mirror on GitHub. GitHub blog. 23 December 2008. 


  28. ^ Wall, Larry. Perl's first commit. GitHub. 18 December 1987. [永久失效連結]


  29. ^ phpBB moves source code versioning from Subversion to Git. phpBB. 


  30. ^ Tomas's prey at master. GitHub. 


  31. ^ Git Version Control. Rails Wiki. [永久失效連結]


  32. ^ rails's rails at master. GitHub. 


  33. ^ Sinatra. 


  34. ^ sproutcore. GitHub. 


  35. ^ collaborativetrust's WikiTrust at master. GitHub. 


  36. ^ Wanstrath, Chris. Hotkeys and Wikis. GitHub. 18 February 2008. 


  37. ^ Dascalescu, Dan. The PITA Threshold: GitHub vs. CPAN. Dan Dascalescu's Wiki. 3 November 2009. 


  38. ^ Those are some big numbers. GitHub blog. 20 April 2011. 


  39. ^ GitHub celebrates fifth birthday, 3.5 million users and six million repositories. ZDNet. 11 April 2013. 


  40. ^ 程序员叫苦 李开复质疑. 南方都市报. 2013-01-23 [2013-01-23]. (原始内容存档于2013-01-26). 


  41. ^ Programmers angry over blocking of GitHub code-sharing site. 南华早报. 2013-01-24 [2013-01-24]. 


  42. ^ 中国国家防火墙对GitHub进行了中间人攻击. solidot. 2013-01-26 [2013-01-26]. (原始内容存档于2013-01-28). 


  43. ^ 中国, GitHub和中间人攻击. greatfire. 2013-01-30 [2013-01-30]. 


  44. ^ Russia Blacklists, Blocks GitHub Over Pages That Refer To Suicide. 


  45. ^ GitHub, Vimeo and 30 more sites blocked in India over content from ISIS. thenextweb.com. The Next Web. 2014-12-31. 


  46. ^ 46.046.1 Large Scale DDoS Attack on github.com. GitHub's blog. March 27, 2015 [2015-03-31] (英语). 


  47. ^ 对GitHub的大规模DDoS攻击已超过80个小时. 奇客Solidot. 2015-03-30 [2015-03-30] (中文(中国大陆)‎). 


  48. ^ 陳曉莉. GitHub遭遇史上最大規模DDoS攻擊,反中國網路防火牆專案被鎖定. 台灣iThome. 2015-03-30 [2015-03-30] (中文(台灣)‎). 


  49. ^ 海寧. 中共借刀杀人 利用海外华人发起DDoS攻击. 大紀元新聞網. 2015-03-27 [2015-03-30] (中文(简体)‎). 


  50. ^ Andrew Blake. China tightens noose on Internet as anti-censorship tools suddenly shutter. The Washington Times. 2015-08-26. (英文)


  51. ^ GoAgent开发者删除项目,GitHub再次受到DDoS攻击. Solidot. 2015-08-25. (简体中文)


  52. ^ Catalin Cimpanu. Recent GitHub DDOS Linked to Chinese Government and Two GitHub Projects. Softpedia. 2015-08-29. (英文)


  53. ^ 陳曉莉. GitHub開源社群大調查:多數只會寫程式不會寫文件、性別嚴重失衡. iThome. 2017-06-05 [2018-06-14] (中文(台灣)‎). 


  54. ^ 火柴Q. 互联网巨头终极战场:得开发者得天下. iThome. 2017-06-13 [2018-06-14] (中文(中国大陆)‎). 




参考文献


.mw-parser-output .refbegin{font-size:90%;margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{list-style-type:none;margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li,.mw-parser-output .refbegin-hanging-indents>dl>dd{margin-left:0;padding-left:3.2em;text-indent:-3.2em;list-style:none}.mw-parser-output .refbegin-100{font-size:100%}



  • GitHub Company Profile. CrunchBase. 


  • Paul, Ryan. Canonical's Launchpad gets a visual refresh. Ars Technica. 17 July 2008. 


  • Olson, Rob. GitHub unites Version Control with the Pastie. 华盛顿邮报. 22 July 2008. 


  • Cooper, Peter. GitHub Officially Launches: Git Hosting A-Go-Go!. Ruby Inside. 10 April 2008. 




外部链接




  • 官方网站(英文)


  • GitHub Pages(英文)


  • GitHub System Status Messages(英文)


  • The GitHub Blog(英文)


  • GitHub的Facebook專頁


  • GitHub的Twitter帳戶


  • GitHub的新浪微博

  • GitHub客户端使用操作



參見




  • 自由軟件主機服務比較

  • SourceForge






Comments

Popular posts from this blog

Information security

Lambak Kiri

章鱼与海女图