《GitHub入门与实践》第1章 欢迎来到GitHub的世界——学习笔记

0.0 软件工程 同时被 2 个专栏收录
36 篇文章 1 订阅
27 篇文章 0 订阅

本章将为您讲解GitHub 是什么,以及为什么全世界的开发者都在使用它。同时,还会带您一起考察GitHub 为开源软件世界带来了怎样的变革。

1. 什么是 GitHub

GitHub是为开发者提供Git仓库的托管服务。这是一个让开发者与朋友、同事、同学及陌生人共享代码的完美场所。

  • GitHub公司与octocat
    GitHub 公司总部位于美国旧金山,拥有一只不知是章鱼还是猫的吉祥物octocat。

参考:https://octodex.github.com/
在这里插入图片描述

  • 并不只是Git仓库的托管服务
    GitHub 除提供Git 仓库的托管服务外,还为开发者或团队提供了一系列功能,帮助其高效率、高品质地进行代码编写。

GitHub 与Git 的区别

GitHub 与Git 是完全不同的两个东西。

在Git 中,开发者将源代码存入名叫“Git 仓库”的资料库中并加以使用。而GitHub 则是在网络上提供Git 仓库的一项服务。

也就是说,GitHub 上公开的软件源代码全都由Git 进行管理。理解Git,是熟练运用GitHub 的关键所在。

2. 使用GitHub 会带来哪些变化

协作形式变化

Github的几项功能

2.1 在开发者之间引发化学反应的Pull Request

Pull Request 是指开发者在本地对源代码进行更改后,向GitHub 中托管的Git 仓库请求合并的功能。

通过这个功能,开发者可以轻松更改源代码,并公开更改的细节,然后向仓库提交 合并请求。而且,如果请求的更改与项目的初衷相违,也可以选择拒绝合并。

GitHub 的Pull Request 不但能轻松查看源代码的前后差别,还可以对指定的一行代码进行评论。通过这一功能,开发者们可以针对具体的代码进行讨论,使代码审查的工作变得前所未有地惬意。
在这里插入图片描述

2.2 对特定用户进行评论

方便和快捷并不是Pull Request 的专利。任务管理和BUG 报告可以通过Issue 进行交互。如果想让特定用户来看,只要用“@ 用户名”的格式书写,对方便会接到通知(Notifications),查看Issue。由于也提供了Wiki 功能,开发者可以轻松创建文档,进行公开、共享。

2.3 GitHub Flavored Markdown

在GitHub 上, 用户所有用文字输入的功能都可以用GitHub Flavored Markdown(GFM)语法进行描述。

不仅可以“@ 用户名”,还可以“@ 组织名”,可以让属于该Organization(组织)的所有成员收到通知。“@ 组织名/团队”可以让该团队的所有成员收到通知。这就是同时向多人发送通知的方法。

输入“# 编号”,会连接到该仓库所对应的Issue 编号。输入“用户名/ 仓库名# 编号”则可以连接到指定仓库所对应的Issue编号。只要按照这类特定格式书写便会自动创建链接。

2.4 能看到更多其他团队的软件

GitHub 快捷的环境为开发者带来的合作伙伴,并不只局限于自己团队内部。只要将感兴趣的仓库添加至Watch 中,就可以在News Feed 查看该仓库的相关信息。
在这里插入图片描述
将全公司共用代码库的仓库添加到Watch 中,便能在第一时间掌握最新版本的新功能或BUG 修正的信息。当然,您也可以参与到讨论中去,积极地提出意见。如有必要,还可以通过Pull Request 提交代码。

将隔壁团队正在开发的仓库添加到Watch 中,就可以每天查看他们都在开发什么功能。一旦发现有用的功能或者库,可以立刻运用到自己的开发团队。

2.5 与开源软件相同的开发模式

将GitHub 运用到企业中,便会带来与开源软件开发相同的开发模式。已经熟悉开源软件开发的开发者不必专门去学习企业独自采用的工具,就可以直接加入到开发行列。

3. 社会化编程

GitHub 曾经的LOGO
在这里插入图片描述
GitHub 的新LOGO
在这里插入图片描述
GitHub 这一服务创造了社会化编程的概念。随着GitHub 的出现,软件开发者们才真正意义上拥有了源代码。世界上任何人都可以比从前更加容易地获得源代码,将其自由更改并加以公开。如今,世界众多程序员都在通过GitHub 公开源代码,同时利用GitHub 支持着自己日常的软件开发。

GitHub 的出现为软件开发者的世界带来了真正意义上的“民主”,让所有人都平等地拥有了更改源代码的权利。这在软件开发领域是一场巨大的革命。而革命领导者GitHub 的口号便是“社会化编程”。

4. 为什么需要社会化编程

如果您是程序员的面试官,两者之间您会选择哪一位呢?

  • 能查看到以前所写代码的程序员 or 无法查看的程序员
  • 精通最新软件的程序员 or 不精通的程序员
  • 对语言或软件差异带来的不同文化有所理解的程序员or 不理解的
    程序员

为了不成为后一种程序员,理解社会化编程和GitHub 至关重要。

不要闭目塞听,要接触不同的文化

在工作中接触非公开代码的职业程序员们,更应该接触世界上的不同文化,拓展见闻。如果只在公司这一封闭的小世界中敲代码,往往在不知不觉间,手中的技术就变得陈腐不堪了。

放眼世界,注意那些日新月异的源代码、技术、设计以及文化,会对自己编写的源代码及成果带来巨大影响。

会写代码的程序员更受青睐

在过去,程序员只需有简单的编程经验,用人单位更重视其人品、协调性、管理能力。但如今,能踏踏实实编写出代码的职业程序员反而更受欢迎。这是由于近年来随着技术的不断发展,开发一项服务需要用到多种编程语言和技术,以求兼容多种硬件设备。在这种背景下,判断一个求职者能否编写项目所需的源代码,最切实可行的办法就是看他实际写出的东西。

看Facebook 或Twitter 能了解一个人的品性,而看看GitHub 就能了解一个程序员的实力。

GitHub最大的特征是“面向人”

GitHub 与以往的仓库托管服务最大的不同点,就在于它以人为中心。

GitHub 除项目之外,还可以把注意力集中到人身上。我们不但能阅览一个人公开的所有源代码,只要查看其控制面板中的News Feed,还能知道他对哪些仓库感兴趣,什么时候做过提交等。一个人在GitHub进行的开发是一目了然的。

5. GitHub 提供的主要功能

在GitHub 上,有许多帮助开发者高效输出优质代码的功能。这里,我们就简单地为您说明这些功能。

5.1 Git仓库

一般情况下,我们可以免费建立任意个GitHub 提供的Git 仓库。

5.2 Organization

通常来说,个人使用时只要使用个人账户就足够了,但如果是公司,建议使用Organization 账户。它的优点在于可以统一管理账户和权限,还能统一支付一些费用。

5.3 Issue

Issue 功能,是将一个任务或问题分配给一个Issue 进行追踪和管理的功能。

在GitHub 上,每当进行我们即将讲解的Pull Request,都会同时创建一个Issue。

5.4 Wiki

通过Wiki 功能,任何人都能随时对一篇文章进行更改并保存,因此可以多人共同完成一篇文章。该功能常用在开发文档或手册的编写中。

5.5 Pull Request

开发者向GitHub 的仓库推送更改或功能添加后,可以通过Pull Request 功能向别人的仓库提出申请,请求对方合并。

Pull Request 送出后,目标仓库的管理者等人将能够查看Pull Request 的内容及其中包含的代码更改。

同时,GitHub 还提供了对Pull Request 和源代码前后差别进行讨论的功能。通过此功能,可以以行为单位对源代码添加评论,让程序员之间高效地交流。

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值