一,Pull Request

1,什么是Pull Request

Pull requests let you tell others about changes you’ve pushed to a branch in a repository on GitHub. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before your changes are merged into the base branch.

简单来说,就是请求他人允许合并自己提交的代码的请求。

2,怎样Pull Request

情景假设:我正在使用一款开源软件,但遇到了bug并手动修复了它,如果我希望软件能采纳我的修复代码,那我就应该执行一次Pull Request。

  1. 在 GitHub 上发送 Pull Request 后,接收方的仓库会创建一个附带源代码的 Issue,这个 Issue中记录了详细内容。
  2. 是否被采纳要由接收方仓库的管理者进行判断。一般只要代码没有问题,对方都会采纳。如果有问题,我们会收到相关评论。一旦 Pull Request 被采纳,我们就会成为这个项目的 Contributor。

二,发送 Pull Request

《GitHub入门与实践》这本书专门搭设了一个网站,让读者可以对其进行修改,尝试发送 Pull Request,非常贴心了。
在这里插入图片描述

1,查看要修正的源代码

这次Pull Reques的目标,就是将自己的感想写入源代码,然后发送Pull Request。
记述感想时需要修改 index.html 文件。各位不妨先查看它的源代码,对内容有个印象。接下来就要进行真正的操作啦。

2,Fork

进入源码所在的仓库,点击Fork,就会自动在我的用户下创建一个仓库:
在这里插入图片描述
会自动跳转,结果为:
在这里插入图片描述
Fork成功了。

3,clone

先进入工作目录,再clone:
在这里插入图片描述
现在别人的仓库我们有了。切换到first-pr目录,first-pr 目录下会生成 Git 仓库:
在这里插入图片描述
这个仓库与我 GitHub 账户下的first-pr 仓库状态相同。现在只要在这个仓库中修改源代码进行 push,GitHub 账户中的仓库就会被修改
接下来就是对其中的内容进行修改。

4,在分支中工作

各位请养成创建特性分支后再修改代码的好习惯。在 GitHub 上发送 Pull Request 时,一般都是发送特性分支。这样一来, Pull Request 就拥有了更明确的特性(主题)。让对方了解自己修改代码的意图,有助于提高代码审查的效率。

1,确认所在分支
在这里插入图片描述
其实从天蓝色字体中也能进行确定。但为什么从源码所在的网页和查询结果上看这个仓库有gh-pages分支和move-jquery-from-cdn-to-local分支却没有master呢?书中的解释是:

由于本次我们使用了 GitHub Pages,所以最新代码位于 gh-pages 分支。

2,创建本地特性分支
创建并自动切换到work分支:
在这里插入图片描述
3,修改代码
用编辑器打开 index.html 文件,按指定格式添加想表达的内容:
在这里插入图片描述
4,提交修改
diff、add、commit好习惯一条龙。
在这里插入图片描述

5,创建远程分支

要从 GitHub 发送 Pull Request, GitHub 端的仓库中必须有一个包含了修改后代码的分支。所以需要在pull前创建本地 work 分支的相应远程分支。
在这里插入图片描述
创建完成之后,可以通过branch命令和进入网页中个人仓库查看创建的分支及修改的内容:
在这里插入图片描述
在这里插入图片描述

6,发送 Pull Request

登录 GitHub 并切换至 work 分支,通过点击差别查看刚刚进行的更改是否正确:
在这里插入图片描述
无误后,点击 Create Pull Request:
在这里插入图片描述
接下来就是等待项目管理者通过啦:
在这里插入图片描述

7,让 Pull Request 更加有效

1,在开发过程中发送 Pull Request 进行讨论

在软件的设计与实现过程中如果想发起讨论, Pull Request 是个非常 好的契机。我们虽然可以像本次示例一样等代码完成后再发送 Pull Request,但在实际开发过程中,这样做很可能导致一个功能在完成后才收到设计或实现方面的指正,从而使代码需要大幅更改或重新实现。
在 GitHub 上,我们可以尽早创建 Pull Request,从审查中获得反馈,让大家在设计与实现方面思路一致,借此逐渐提高代码质量。这个方法在团队开发大型项目时尤其有效,已将 GitHub 运用到实际开发中的团队请务必试一试。

2,明确标出“正在开发过程中”

未完待续…

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐