GitHub
GitHub是一个用于版本控制和协作的代码托管平台,开发于2007年10月,由汤姆·普雷斯顿-维尔纳、克里斯·万斯特拉斯、P·J·海特和斯科特・查孔使用Ruby on Rails于2008年4月正式推出,总部位于加利福尼亚州,自2018年以来一直是微软的子公司。
2009年7月,GitHub的用户数突破了10万。2010年,GitHub托管了100万个存储库。2011年,GitHub托管的存储库达200万个。2013年1月16日,GitHub的用户数量突破了350万大关,然后托管了超过500万个存储库。同年12月,存储库数量增加了一倍,达到1000万个。2014年,其首席执行官汤姆·普雷斯顿-维尔纳辞去职务并离开公司。2018年,微软以75亿美元的价格收购了GitHub。2019年9月,GitHub收购了代码分析工具Semmle。2020年3月17日,GitHub宣布收购npm,GitHub保证npm将永远免费使用。2021年11月4日,微软宣布GitHub CEO奈特·弗里德曼将于11月15日卸任,其职位由GitHub产品主管托马斯·多梅克接替。2023年1月24日,微软GitHub发布博客称,于2024年1月8日停止支持版本控制系统Subversion,即SVN。2023年1月26日有超过1亿开发者使用GitHub来构建、维护和贡献软件项目。2024年1月22日,地平线公司宣布将纯视觉自动驾驶算法Sparse4D系列算法开源,该算法已在GitHub平台上线。2025年2月8日,GitHub宣布了其AI编程助手Copilot的一系列重大更新,并展示了Copilot未来更具自主性的愿景。
GitHub支持用户从任何地方共同处理项目;其运用领域为Git的分布式版本控制,以及每个项目的访问控制、错误跟踪、软件功能请求、任务管理、持续集成和wiki。
历史
GitHub平台的开发始于2007年10月,第一行代码也于当月提交。该网站由汤姆·普雷斯顿-维尔纳、克里斯·万斯特拉斯、P·J·海特和斯科特・查孔于2008年4月推出,此前几个月作为测试版本进行了一段时间的试运行。GitHub每年都举办一次名为GitHub Universe的主题演讲大会。
2008年推出初期GitHub以其简洁、直观的用户界面而受到开发者的欢迎。相比于其他代码托管平台,GitHub的界面设计更加简洁明了,易于使用和导航。最初GitHub的创新之处在于将社交网络的概念引入代码托管平台。用户可以关注其他开发者、关注项目、参与讨论,以及跟踪项目的更新。
2009年7月,GitHub的用户数突破了10万,并已发展到托管90000个独特的公共存储库,其中12000 个至少被分叉过一次,总共有135000个存储库。
2010年,GitHub托管了100万个存储库。随后的几个月,GitHub相继推出了组织(Organization)功能,使团队能够在一个集中的地方组织和管理项目。团队成员可以加入组织,共享代码仓库并进行协作开发。GitHub对外开放API(Application Programming 接口),使开发者能够与GitHub平台进行交互和集成。GitHub Apps是一种基于GitHub API的集成方式,它允许开发者构建和发布自己的应用程序,与GitHub用户和仓库进行集成。GitHub Marketplace是一个集成应用程序的中心,开发者可以在其中找到各种与GitHub集成的工具和服务。2011年,GitHub托管的存储库数量翻番,达到200万个。
2012年,GitHub还推出了企业版服务,为组织和企业提供私有代码托管解决方案,进一步拓展了其用户群体。与此同时,GitHub推出了“GitHub Enterprise”,这是一个面向企业客户的私有部署版本,允许企业在自己的内部网络上托管和管理代码库。
2013年1月16日,GitHub的用户数量突破了350万大关,然后托管了超过500万个存储库。同年12月,存储库数量增加了一倍,达到1000万个存储库。
2014年1月23日,GitHub联合创始人汤姆·普雷斯顿-维尔纳(汤姆·普雷斯顿-维尔纳)接替克里斯·万斯特拉斯(克里斯·万斯特拉斯)出任CEO,后者则接任了前者留下的CEO职位。
2017年,克里斯·万斯特拉斯宣布辞去首席执行官职务。在他离开之前,曾两次担任GitHub首席执行官,起到了重要的领导作用。帮助推动了GitHub的发展,使其成为全球最大的代码托管平台之一。
纳特·弗里德曼于2018年接替克里斯·万斯特拉斯成为GitHub的首席执行官。作为一位经验丰富的技术创业者和软件工程师Friedman加入GitHub后继续推动公司的发展。他在开源社区和开发者社区的增长方面发挥了重要作用,并在2018年中期帮助微软完成了对GitHub的收购。
2018年,微软以75亿美元的价格收购了GitHub。微软的支持进一步加强了GitHub的发展,并为其提供了更多资源和技术支持。2019年9月,GitHub收购了代码分析工具Semmle。2020年3月17日,GitHub宣布收购npm,GitHub保证npm将永远免费使用。2021年11月4日,微软宣布GitHub CEO奈特·弗里德曼将于11月15日卸任,其职位由GitHub产品主管托马斯·多梅克接替。2023年1月24日,微软GitHub发布博客称,于2024年1月8日停止支持版本控制系统Subversion,即SVN。2024年1月22日,地平线公司宣布将纯视觉自动驾驶算法Sparse4D系列算法开源,该算法已在GitHub平台上线。2025年2月8日,GitHub宣布了其AI编程助手Copilot的一系列重大更新,并展示了Copilot未来更具自主性的愿景。
服务业务
GitHub是一个基于Git的代码托管平台,提供了许多服务和功能。GitHub允许用户使用标准的Git命令行界面来访问和管理项目,所有标准的Git命令都可以在其上运行。用户可以浏览网站上的公共代码库,并可以使用多个桌面客户端和Git插件来进行操作。该网站还提供类似社交网络的功能,如动态消息、关注功能、以及社交网络图表,显示开发者们对代码库的不同版本(“分支”)进行的工作情况和最新的分支情况。
任何人都可以浏览和下载公共代码库,但只有注册用户才能对代码库进行贡献。注册用户可以进行讨论、管理代码库、向他人的代码库提交贡献并审查代码的变更。GitHub在2019年1月开始提供有限的免费私有代码库(每个项目限制为三名贡献者)。此前,只有公共代码库是免费的。在2020年4月14日,GitHub宣布将“所有核心功能”对所有人免费开放,包括“无限协作者的私有代码库”。
GitHub的核心软件是Git本身,由Linux创始人Linus 林纳斯·本纳第克特·托瓦兹编写。GitHub的用户界面则是使用Ruby on Rails和Erlang编写的,这些工作是由GitHub公司的开发人员Wanstrath、Hyett和Preston-Werner完成的。
服务范围
企业版
GitHub Enterprise是GitHub提供的面向企业和组织的版本,旨在满足企业级的安全性、扩展性和合规性要求。它可以在组织自己的硬件上或云服务提供商上运行,并自2011年11月起可用。GitHub Enterprise为组织提供了一个私有的、自托管的GitHub实例,使他们能够在自己的环境中管理和控制代码。
页面
GitHub Pages是GitHub提供的一个网页托管服务,可以用于存放静态网页,包括博客、项目文档甚至整本书。一般GitHub Pages的网站使用github.io的子域名,但是用户也可以使用第三方域名。Github Pages以开源仓库公开静态网页源代码,可在仓库-\u003e设置-\u003eCode and 自动化技术里设置, https://github.com/ \u003c用户名\u003e/\u003c仓库名\u003e/settings/pages。
所有GitHub Pages的内容都存储在一个Git仓库中,可以是作为直接提供给访问者的文件,也可以是以markdown格式存储。GitHub与Jekyll静态网站和博客生成器以及GitHub的持续集成流水线进行了集成。每次更新内容源时,Jekyll都会重新生成网站,并通过GitHub Pages基础设施自动提供服务。
代码片段
GitHub还运营着一个名为Gist的类似粘贴板的网站,用于存储代码片段,而不是用于大型项目的GitHub本身。汤姆·普雷斯顿-维尔纳在2008年的一次Ruby会议上首次展示了这个功能。
Gist在传统的简单粘贴板概念的基础上增加了代码片段的版本控制、便捷的分支操作以及私密粘贴的TLS加密功能。由于每个"gist"都是一个独立的Git代码库,可以在单个页面中包含多个代码片段,并且可以使用Git进行推送和拉取。
在2018年3月19日之前,未注册用户可以上传Gists,删除匿名gist创建,但此后上传Gists的功能仅限于已登录的用户,据称是为了减少页面上最近Gists的垃圾信息。
Gists的URL使用十六进制ID,对Gists的编辑记录在修订历史中,可以显示每页三十个修订版本的文本差异,提供"分割"和"统一"视图选项。与代码库类似,Gists可以进行分支操作、"标星"(公开收藏)和评论。Gist页面上会显示修订次数、收藏次数和分支次数。
教育
GitHub Education是GitHub为教育机构和学生提供的一系列教育资源和工具。它旨在支持学生、教师和学术机构进行软件开发、团队协作和知识共享。
GitHub推出了一个名为GitHub学生开发者包(GitHub Student Developer Pack)的新计划,为年满13岁的学生提供免费访问流行开发工具和服务的机会。GitHub与Bitnami、Crowdflower、digitalocean、DNSimple、HackHands、Namecheap、Orchestrate、Screenhero、SendGrid、Stripe、Travis CI和Unreal Engine等公司合作推出了该计划。
市场服务
GitHub Marketplace是GitHub提供的一个在线市场,用户可以在其中找到和购买各种与软件开发和团队协作相关的应用程序和服务。GitHub Marketplace为开发者提供了一个集中的平台,可以发现、比较和购买他们所需的工具和服务。
赞助商
GitHub赞助商(GitHub Sponsors)是GitHub在2019年推出的一项功能,旨在为开发者提供一种获得资金支持的途径,以支持他们的开源项目。然而,在GitHub推出赞助商之前,已经存在一些其他方式和平台,开发者可以通过这些方式寻求资金支持。他们可以更直接地与用户和支持者进行连接,并获得可持续的资金支持。通过赞助商,开发者可以在其GitHub项目页面上显示赞助按钮,用户可以选择每月定期赞助或一次性捐款来支持项目。赞助者还可以获得一些额外的回报和特权,以感谢他们的支持。促进了开源社区的发展,并为开发者提供了更好的集成开发环境和机会。同时,这也使开发者能够更专注于项目的开发和维护,而不用过多依赖其他形式的资金来源。
公测于2019年5月24日宣布,该项目接受等待名单注册。据《The Verge》报道,GitHub赞助者(GitHub Sponsors)的运作方式“与Patreon完全相同”,因为“开发者可以提供不同级别的资助,并从支持者那里获得定期支付以获取特权,并鼓励他们的工作”,但“使用该计划不收取任何费用”。GitHub在首个年度为早期采用者提供了激励措施:承诺支付处理费用,并与开发者的赞助支付相匹配,最高达5000美元。此外,用户仍然可以使用其他类似的服务,如Patreon和Open Collective,并链接到他们自己的网站。
存档计划
在2020年7月,GitHub将该网站的一个二月份的存档,存放在挪威斯瓦尔巴岛上的一个废弃山洞中,该地是北极世界存档的一部分,与斯瓦尔巴全球种子库相距不远。存档包含了所有活跃的公共代码库的代码,以及那些处于休眠状态但具有重要意义的公共代码库。这21TB的数据以piqlFilm存档胶片卷的形式存储,采用了矩阵(2D)条码(盒装条码),预计可以保存500至1,000年。
GitHub存档计划还与合作伙伴共同开展了项目Silica,旨在将所有公共代码库存储至10,000年。该项目旨在使用高精度激光器将存档写入高纯二氧化硅盘的分子结构中,每秒脉冲数达到千万亿(1,000,000,000,000,000)次。
Git的分布式版本控制
原子提交跟踪
Git的每次提交都会根据SHA-1算法生成唯一的commit ID。不像CVS那样对单个文件分别进行版本更改,所以当你回溯到以前某次提交的代码时,不用考虑到底提交了哪些文件,所有修改的文件会一次性被检出。
分支合并操作
Git的分支管理比CVS等老式版本控制系统要简单得多。创建新分支或在不同分支间切换都只需一条命令即可完成,无需像CVS那样创建和维护额外的目录。此外,在分支合并时,Git不仅会合并代码,还会保留完整的提交历史记录,这对于分支的管理和追踪非常有帮助。
应用平台
GitHub Apps
通过与GitHub Apps的API和Webhook集成、自定义GitHub工作流程以及构建应用程序并与社区共享应用程序,更深入地使用GitHub。
OAuth apps
GitHubApps可以代表用户执行操作(类似于 OAuth app),也可以自行执行操作,这对不需要用户输入的自动程序很有利。此外,GitHub Apps使用细化权限,让用户更好地控制应用可以访问的存储库,并使用生存期较短的令牌。
管理团队
母企业
在2018年,微软以75亿美元的价格收购了代码托管平台GitHub。微软收购GitHub后,继续保持了其开放性和独立性,并致力于提供更多的功能和支持,以进一步满足开发者的需求。
微软(Microsoft Corporation)是一家美国跨国科技公司,总部位于华盛顿州的雷德蒙德。该公司成立于1975年,由比尔·盖茨(Bill Gates)和保罗·加德纳·阿伦(Paul Allen)共同创办。微软以其操作系统Windows和办公软件套件microsoftoffice而闻名全球,并在计算机软件、硬件和云服务等领域拥有广泛的业务。
创始人
GitHub的创始人是克里斯·万斯特拉斯、PJ Hyett和汤姆·普雷斯顿-维尔纳。克里斯·万斯特拉斯在2008年创建了GitHub,并与PJ Hyett和汤姆·普雷斯顿-维尔纳共同建立了这个知名的代码托管平台。
汤姆·普雷斯顿-维尔纳是GitHub的创始团队之一,他在GitHub的早期阶段起到了重要的角色。他是GitHub的首席执行官(CEO)之一,负责公司的战略规划和发展。他还是开源社区中的重要人物,致力于促进开源软件的发展和推广。
然而,汤姆·普雷斯顿·沃纳在2014年离开了GitHub,不再是该公司的一员。他离开后,GitHub的领导团队由其他人接管,并在微软收购GitHub后发生了一些变化。
首席执行官
相关事件
GitHub员工被骚扰事件
2014年3月,GitHub的程序员朱莉·安·霍夫斯(Julie Ann Horvath)声称公司创始人兼CEO汤姆·普雷斯顿-韦纳(汤姆·普雷斯顿-维尔纳)和他的妻子特丽莎(Theresa)对她进行了骚扰,导致她离开了该公司。2014年4月,GitHub发布了一份声明,否认霍夫斯的指控。然而,在内部调查之后,GitHub确认了这些指控。GitHub的CEO克里斯·旺斯特拉思(克里斯·万斯特拉斯)在公司博客上写道:“调查发现,汤姆·普雷斯顿-韦纳作为GitHub的CEO在工作中表现不当,包括具有挑衅性的行为,对工作场所投诉的忽视,对他的配偶在工作场所存在的影响不敏感,以及未能执行不让他的配偶在办公室工作的协议。”汤姆·普雷斯顿-韦纳随后辞去了公司职务。公司随后宣布将实施新的倡议和培训,“确保员工的关切和冲突得到认真对待和妥善处理。”
ICE合同风波
GitHub与美国移民和海关执法局(ICE)签订了一项价值20万美元的合同,用于使用他们的产品GitHub Enterprise Server。尽管许多GitHub员工内部反对,但该合同在2019年得到续签。后来于2019年10月9日发布在GitHub博客上,CEO纳特·弗里德曼(纳特·弗里德曼)表示:“购买所得收入不到20万美元,对我们公司来说并不具备财务重要性。”他宣布GitHub已承诺向“支持当前政府打压的移民社区的非营利组织”捐赠50万美元。作为回应,至少150名GitHub员工签署了一封公开信,重申他们反对该合同,并谴责ICE的涉嫌人权侵犯行为。截至2019年11月13日,已有五名员工因为合同问题而辞职。
由于2020年公司决定放弃"master/slave"branch terminology(非对称通信或控制的模型),ICE合同争议再次引起关注(受到乔治·弗洛伊德抗议和黑人生命重要性运动的推动)。GitHub的批评者将分支重命名视为一种表演性行动,并敦促GitHub取消与ICE的合同。2019年12月,开源社区的成员在GitHub上发布了一封公开信,要求该公司终止与ICE的合同,并提供更多关于他们业务和合作伙伴关系运作方式的透明度。该公开信已有700多人签署。
DeepSeek-R1模型接入GitHub
美东时间2025年1月31日,微软CEO纳德拉在财报电话会议上表示,DeepSeek-R1模型已可通过微软的AI平台Azure AI Foundry和GitHub获取。
屏蔽中国IP
2025年4月14日,众多用户(尤其是中国开发者)在社交平台上反映,微软旗下代码托管平台GitHub出现无法访问的情况,疑似对中国大陆地区的 IP 进行了屏蔽。对此,GitHub 官方已作出回应,解释称:此次访问受限并非针对特定国家或地区,而是由于“配置更改”所带来的意外影响,还表示相关配置问题目前已被撤回,用户在访问网站时“不应再遇到类似问题”。
评价
2012年,Git 的原始开发者Linus Torvalds高度赞扬了GitHub,他说:github的托管非常出色。他们在这方面做得很好。我认为GitHub应该受到极大的赞扬,因为它使开源项目托管变得如此简单。不过,他也尖锐地批评了GitHub合并接口的实现,他说:“Git带有一个不错的拉取请求生成模块,但GitHub反而决定用他们自己完全劣质的版本来替换它。因此,我认为 GitHub 对这类事情毫无用处。托管很好,但拉取请求和在线提交编辑只是纯粹的垃圾。(Git 的原始开发者Linus Torvalds评)
参考资料
Microsoft buys Github code-sharing site for $7.5bn.bbc.2023-06-08
A bright future for GitHub .github.2025-04-14
Global diversity, inclusion, and belonging at GitHub .github.2025-04-14
The tools you need to build what you want..github.2023-06-03
GitHubbuiltanewsearchengineforcode'fromscratch'inRust.zdnet.2023-06-03
What is GitHub and why is it used?.flickerleap.2023-06-05
How would you describe GitHub in under 50 words?.archive.2023-06-08
GitHub CEO and Co-Founder Chris Wanstrath Keynoting Esri’s DevSummit!.archive.2023-06-08
Microsoft + GitHub = Empowering Developers .microsoft.2025-04-14
Follow this Hello World exercise to get started with GitHub..GitHub.2023-06-03
100,000 Users!.github.2025-04-14
The PITA threshold: GitHub vs. CPAN .archive.2025-04-14
One Million Repositories.github.2025-04-16
Those are some big numbers.github.2025-04-16
Code-sharing site Github turns five and hits 3.5 million users, 6 million repositories .thenextweb.2025-04-14
10 Million Repositories .github.2025-04-14
GitHub co-founder resigns after investigation into harassment claims.theverge.2023-06-05
微软高价收购代码托管平台GitHub要回归本源.今日头条.2023-06-05
GitHub acquires code analysis tool Semmle .techcrunch.2025-04-15
微软 GitHub 宣布收购 npm:开源的 JavaScript 包管理服务.IT之家.2025-04-15
微软旗下GitHub更换CEO 产品主管接任.环球科技.2025-04-15
git 一家独大,GitHub 将于明年停止支持 Subversion(SVN).IT之家.2025-04-15
Celebrating nine years of GitHub with an anniversary sale.github.2023-06-08
微软GitHub宣布用户过亿.今日头条.2023-06-05
地平线正式开源Sparse4D算法.界面新闻.2025-04-15
GitHub Copilot 推出视觉功能:图片可秒变代码 .百家号.2025-04-15
100 million developers and counting.github.2025-04-14
GitHub Universe.GitHub.2023-06-03
heiskr.github.2023-06-03
Let’s build from here.github.2023-06-03
organizations.github.2023-06-03
About the GraphQL API.github.2023-06-03
2011-11-01-introducing-github-enterprise.github.blog.2023-06-05
defunkt.github.2023-06-05
Nat Friedman.github.2023-06-05
Microsoft’s GitHub CEO Nat Friedman is stepping down, product chief Thomas Dohmke will replace him.cnbc.2023-06-05
microsoft-github.github.2023-06-03
github.github.2023-06-03
Microsoft 拥有的 GitHub 刚刚免费让程序员可以在小型团队中保持项目的私有性 .fortune.2025-04-14
GitHub is giving free users unlimited private repositories .cnet.2025-04-14
Unlimited free private repositories with GitHub Free and a unified business offering with GitHub Enterprise.github.2025-04-14
developers.github.2023-06-03
GitHub is free for teams.github.2025-04-14
FAQ about changes to GitHub’s plans .archive.2025-04-14
managing-encrypted-secrets-for-your-codespaces.github.2023-06-03
About email notifications for pushes to your repository.github.2023-06-05
actions.github.2023-06-03
Code review.github.2023-06-03
integrations.github.2023-06-05
Page.github.2023-06-05
community community Discussions.github.2023-06-03
About wikis.github.2023-06-05
GitHub 文档.github.2023-06-03
enterprise-server.github.2023-06-03
Managing remote repositories.github.2023-06-03
UpdatingcredentialsfromthemacOSKeychain.github.2023-06-03
enterprise-server.github.2023-06-03
code-security.github.2023-06-03
GitHub’s source code was leaked on GitHub last night sort of.arstechnica.2023-06-05
organizations.github.2023-06-03
Aboutwebhooks.github.2023-06-03
GitHub Pages .github.2025-04-14
GitHub Pages Documentation.github.2023-06-03
Build A Blog With Jekyll And GitHub Pages.smashingmagazine.2023-06-05
Configuring a publishing source for your GitHub Pages site.github.2023-06-03
About GitHub Pages and Jekyll.github.2023-06-03
About custom domains and GitHub Pages.github.2023-06-03
googlegod-rb.google.2023-06-03
editing-and-sharing-content-with-gists/creating-gists.github.2023-06-03
deprecation-notice-removing-anonymous-gist-creation.github.blog.2023-06-03
/starred.github.2023-06-03
Education.github.2023-06-03
Yahoo.techcrunch.2023-06-05
pack.github.2023-06-03
Meet Josh: Student and hackathon advocate.github.2023-06-03
events.github.2023-06-03
How to put GitHub Actions to work for your software team.techbeacon.2023-06-03
About GitHub Marketplace.github.2023-06-03
Rollbar-Provides-New-and-Updated-Software-Development-Kits.dbta.2023-06-03
Yahoo.techcrunch.2023-06-03
github-sponsors-patreon-style-crowdfunding-open-source.theverge.2023-06-03
announcing-github-sponsors-a-new-way-to-contribute-to-open-source.github.blog.2023-06-05
github-archive-program-the-journey-of-the-worlds-open-source-code-to-the-arctic.github.2023-06-03
github-has-stored-its-code-in-an-arctic-vault-it-hopes.gizmodo.2023-06-03
github-code-vault-in-artic-svalbard-safeguards-against-calamity.abc.2023-06-03
GitHub Apps documentation.docs.2025-04-15
授权 OAuth 应用 .docs.2025-04-15
Singapore News Center.microsoft.2023-06-05
Microsoft Corporation.microsoft.2023-06-05
dominicusin.github.2023-06-05
defunkt.github.blog.2023-06-05
Meet the Married Duo Behind Tech's Biggest New Harassment Scandal.valleywag.2023-06-08
Results of the GitHub Investigation.github.2023-06-08
GitHub Founder Resigns After Investigation.github-founder.2023-06-08
Follow up to the investigation results.github.blog.2023-06-08
GitHub Founder Steps Down After Harassment Probe..wired.2023-06-08
GitHub and US Government developers.github.2023-06-08
As GitHub’s Conference Begins, Five Employees Resign Over ICE Contract.vice.2023-06-08
GitHub is the latest tech company to face controversy over its contracts with ICE.vox.2023-06-08
Letter from GitHub employees to CEO about the company's ICE contract.washingtonpost.2023-06-08
GitHub abandons 'master' term to avoid slavery row.bbc.2023-06-08
After GitHub CEO backs Black Lives Matter, workers demand an end to ICE contract.latimes.2023-06-08
The Open Source Community Is Calling on Github to ‘Drop ICE'.vice.2023-06-08
微软、英伟达、亚马逊全部接入DeepSeek,英伟达市值仍蒸发超8000亿元.腾讯网.2025-04-14
GitHub屏蔽中国IP?官方回应:配置更改所致.腾讯网.2025-04-14
Linus Torvalds Invented Git, But He Pulls No Patches With GitHub .wired.2025-04-14
GitHub merges 'useless garbage' says Linus Torvalds as new NTFS support added to Linux kernel 5.15 .theregister.2025-04-14