Github 你对它真的很了解么?

444 阅读4分钟

说起编程和程序员,就不得不提 GitHub。一个被戏称为全球最大的同性交友网站,是程序员最喜欢的平台,没有之一。

Github 能做些什么(解决什么问题)

很多人最初接触 GitHub 会以为这是个 Git 仓库的网页版,实际上 GitHub 和 Git 完全是两码事。

  • Git 完成代码托管,类似 CSV 或 SVN 的代码版本管理工具;
  • issue 用来进行 Bug 跟踪和管理;
  • Pull Request(pr) 实现了协作开发、Code Review 和交流功能,帮助开发者或开发团队实现高效率高品质的代码编写;
  • Wiki 和 扩展的 Markdown 格式 GFM 可以编写优雅的开发文档;
  • 一些企业或个人在基于 GitHub 研发和管理自己的产品和服务(可能涉及付费);

Logo

吉祥物 Octocat,是一个章鱼(octopus)和猫咪(cat)组合而成。

  • 章鱼,又名八爪鱼,是否暗示程序员要多做事,即时没有很多手,也要完成有很多手的工作;
  • 猫咪,身手敏捷,有九条命,是否暗示程序员要敏捷开发,做一个打不死的,与产品、后端和设计周旋;

贡献度

目前,全球绝大部分开源项目都托管在 GitHub 上,包括 Linux、VS Code、OpenStack、Docker、React、Vue、OpenResty、TensorFlow 等重量级项目。来看一组数据

  • GitHub 在 2018 年 10 月份发布的年度报告:开发者已经超过 3100 万,其中 2018 年增加了 800 万新用户,比以往 6 年增加的总数还要多;
  • GitHub 上目前有 210 万个组织,管理的代码仓库超过 9600 万个,这两个数据都比 2017 年增加了 40%;
  • 过去的一年里,GitHub 上的开发者共提交了 11 亿次有效贡献;
  • 中国用户数和代码贡献量从 2015 年超过英国之后,一直维持在第二名的位置,仅次于美国;

这些数据展示了技术的生命力和开发者旺盛的创新精神。不客气的说,其他代码托管平台都绑一起,也抵不过 GitHub 一个。还有就是随着国内开源的项目越来越多,质量越来越高,使用 GitHub 的中国组织和个人用户正在不断增长。

大事件

2018 年 6 月 GitHub 被微软 以 75 亿美元03收购后(也是 Github 成立的第 10 个年头),依旧保持了开发者自由、开放和创新至上的原则、独立运营的立场以及社会化编程的特性。

理念

GitHub 的出现,让现代软件开发发生了翻天覆地的变化,真正实现了社会化编程。全世界程序员或技术团队在自由、开源、民主的环境下,通过网络和协作的方式共同开发和维护一个软件产品。

真正有生命力的开源软件都是基于社会化编程的方式构建出来的。另外,现在越来越多的大公司把自己的一些代码放到 GitHub 上,也许是真的为了拥抱开源,也许只是因为 KPI,但不论如何,GitHub 都是他们的第一选择。

问:那 GitHub 是如何实现这种社会化编程的模式呢?

如果你只是将 GiuHub 当 Git 用,建个仓库扔些代码就以为是开源了,没用过 pull request 与别人协作过,也没有 merge 过别人的代码,那你就不是个真正的 GitHub 程序员。

pull Request(pr) 采用了一种精巧的设计,让开发者实现了真正的代码对话:Talk is cheap, show me the code(一言不合贴代码)

说了这么多,那什么是 pull Request 呢?举例来说,比如你写了一段功能代码,想找小明做 review,你保留的是原本(仓库),小明克隆副本到自己的项目中(fork)进行修改,修改好了通过 commit 提交到本地仓库,最后把提交给你,这就是一次 pull request。此刻,你根据副本内容修改原本,这叫 merge。

...未完待续