GitHub是一个在线软件源代码托管服务平台,使用Git作为版本控制软件,由开发者Chris Wanstrath英语Chris WanstrathP. J. Hyett英语P. J. Hyett汤姆·普雷斯顿·沃纳使用Ruby on Rails编写而成。在2018年,GitHub被微软公司收购。[2][3][4]

GitHub
Font Awesome 5 brands github.svg Octicons-logo-github.svg
公司类型子公司
网站类型
Git版本库托管
语言英文
成立2008年2月,​14年前​(2008-02
總部、​
業務範圍全球
持有者微軟
创立者
首席执行官Thomas Dohmke
代表人物
  • Erica Brescia (COO)
  • Carrie Olesen (CHRO)
  • Mike Taylor (CFO)
产业软件
员工1,079[1]
母公司微软
网址github.com
商业性质
注册可选(建立和参与项目时需要)
用户4000万(2019年8月)
现状在线
編程語言Ruby

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

截至2022年6月,GitHub已经有超过5700万注册用户[6]和1.9亿代码库(包括至少2800万开源代码库),[7]事实上已经成为了世界上最大的代码托管网站和开源社区。[8]

服务

GitHub

GitHub平台于2007年10月1日开始开发。[9][10]网站于2008年2月以beta版本开始上线,4月份正式上线。[11] GitHub里面的项目可以透過标准的Git命令进行访问和操作。同时,所有的Git命令都可以用到GitHub项目上面。GitHub开发了针对Microsoft WindowsmacOS操作系统的桌面客户端。此外,也可以使用第三方插件来实现Git功能。

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

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

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

开发语言

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

主要功能

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

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

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

    GitHub Enterprise

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

    GitHub Pages

    GitHub Pages是GitHub提供的一个网页寄存服务,可以用于存放静态网页,包括博客、项目文档甚至整本书。[17]一般GitHub Pages的网站使用github.io的子域名,但是用户也可以使用第三方域名。Github Pages以开源仓库公开静态网页源代码,可在仓库->设置->Code and automation里设置, https://github.com/页面存档备份,存于互联网档案馆)<用户名>/<仓库名>/settings/pages。

    Gist

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

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

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

    Student Developer Pack

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

使用GitHub的项目

許多程式庫、開發框架都採用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]

融资