接收Pull Request

接收到 Pull Request 后,会如图 7.1 中所示,在仓库的 Pull Request
标签页中显示别人发送过来的 Pull Request 的一览表。现在让我们点击
Pull Request 查看详细内容。

详细页面与我们发送 Pull Request 时的页面大致相同。点击 Merge
pull request 按钮(图 7.2),Pull Request 的内容便会自动合并至仓库。在
采纳之前,请尽量将接收到的 Pull Request 拿到本地开发环境中进行检
查,确认是否能够正常运行以及代码是否安全。或者用将要在第 8 章中
介绍的 Jenkins 等持续集成工具进行自动测试,保证新代码不破坏原有
功能之后,再合并进仓库。

采纳 Pull Request 前的准备

除确认 Pull Request 送来的代码是否运行正常外,各位还请在代码
审查上也多花些心思。GitHub 上可以快速高效地审查代码。下面我们就
来介绍这些功能。
学会使用各种各样的功能进行代码审查,要比以往使用工具的审查
轻松很多。如果团队中所有人都养成时常审查自己代码的习惯,其叠加
效果将不可估量。

● 代码审查

如图 7.3 所示,在 GitHub 上可以对 Pull Request 的具体的某行代码
进行评论。这让代码审查变得十分高效。

 ※ 每行前左侧的数字为该提交修改前的行号,右侧为修改后的行号。
发出评论之后相关人员会立刻接到 Notifications,无论是 Pull
Request 的发送方还是接收方,都能迅速反馈。由于 GitHub 的便捷性和
审查的简易性,让很多人离开 GitHub 之后在工作中倍感压力。
混迹于开源世界的程序员大多习惯使用 GitHub,所以如果能将

● 查看图片的差别

在 GitHub 上不但可以查看代码的差别,还有多种方法供用户查看
图片的差别。这些内容在官方博客
A
中有详细讲解,我们只在此挑出一
些介绍给各位。
官方博客已经介绍了用于演示的仓库
B ,所以各位实际操作一下该仓
库,就会发现这个功能有多么强大
C 。各位可以通过提交日志的 Image
View Mode Demo 来体验操作。

2 - up

2-up 可以同时显示一张旧图片和一张新图片,从而完成对比
(图 7.4)。

Swipe

Swipe 可以在分界线左右两侧分别显示旧图片和新图片(图 7.5)。鼠
标可以拖动分界线左右移动,帮助用户对比细节差异和细微的颜色差异

Onion Skin

Onion Skin 能够将新旧两张图片重叠放置,分阶段从旧图片慢慢过
渡至新图片,用户可以自由调节过渡比例(图 7.6)。通过这一功能,用
户能够一步步确认新图片相对于旧图片的变化。

Difference

Difference 功能让笔者都感到吃惊,它能够直接抽出两张图片不一
样的部分进行比较。如图 7.7 所示,Difference 抽出了单片眼镜这一差别
之处。

● 在本地开发环境中反映 Pull Request 的内容

下面我们来讲解收到 Pull Request 后在本地开发环境中进行实际检
查的流程。在本示例中,Pull Request 接收方的用户名为 ituring,发送方
的用户名为“PR 发送者”。

将接收方的本地仓库更新至最新状态

首先,将 Pull Request 接收方的仓库 clone 到本地开发环境中(图
7.8 左侧)。如果已经 clone 过,那么请进行 pull 等操作更新至最新状态。

获取发送方的远程仓库

将 Pull Request 发送方的仓库设置为本地仓库的远程仓库,获取发
送方仓库的数据。在本示例中,我们将图 7.8 右上的仓库设置为远程仓
库,进行 fetch。
$ git remote add PR发送者 [email protected]:PR发送者/first-pr.git
$ git fetch PR发送者
省略
From github.com:PR发送者/first-pr
* [new branch] gh-pages -> PR发送者/gh-pages
* [new branch] master -> PR发送者/master
* [new branch] work -> PR发送者/work

创建用于检查的分支

前面我们只获取了远程仓库的数据,这些数据尚未反映在任何一个
分支中。因此我们需要创建一个分支,用来模拟采纳 Pull Request 后的
状态。由于这是我们第一个 Pull Request,分支名就叫 pr1。这一步相当
于图 7.9 左侧箭头(checkout)代表的操作。现在 gh-pages 与 pr1 分支
的内容完全相同。

$ git checkout -b pr1
Switched to a new branch ‘pr1‘

合并

下面要将已经 fetch 完毕的“PR 发送者 /work”的修改内容与 pr1
分支进行合并。也就是图 7.9 下侧箭头(merge)代表的操作。
$ git merge PR发送者/work
Updating cc62779..243f28d
Fast-forward
index.html | 2 ++
1 file changed, 2 insertions(+)

删除分支

检查结束后 pr1 分支就没用了,可以直接删除。我们切换至 pr1 之
外的分支,运行下面的代码。
$ git branch -D pr1
Deleted branch pr1 (was 243f28d).

采纳 Pull Request

完成上述内容后,如果 Pull Request 的内容没有问题,大可打开浏
览器找出相应的 Pull Request 页面,点击 Merge pull request 按钮,随后
Pull Request 的内容会自动合并至仓库(图 7.10)。
不过,由于我们已经在本地构筑了相同的环境,只要通过 CLI 进行
合并操作再 push 至 GitHub,Pull Request 中就会反映出 Pull Request 被
采纳后的状态(图 7.11)。这个状态对应到本示例中就是“PR 发送者 /
work”分支合并到 gh-pages 分支。

● 合并到主分支

首先,我们切换至 gh-pages 分支。
$ git checkout gh-pages
Switched to branch ‘gh-pages‘
然后合并“PR 发送者 /work”分支的内容。

$ git merge PR送信者/work
Updating cc62779..243f28d
Fast-forward
index.html | 2 ++
1 file changed, 2 insertions(+)

● push 修改内容

现在只剩下 push 一步了,不过为保险起见,我们先查看本地与
GitHub 端仓库内代码的差别。
$ git diff origin/gh-pages
diff --git a/index.html b/index.html
index f2034b3..91b8ecb 100644
--- a/index.html
+++ b/index.html
@@ -39,6 +39,8 @@
<p>请写明这是对本书的实践或描述对本书的感想并发送Pull Request。</p>
+<p class="impression">这本书读着很有趣。(@HIROCASTER)</p>
+
省略

确认没有目的之外的差别后,进行 push。

原文地址:https://www.cnblogs.com/xyyhcn/p/11672533.html

时间: 2024-10-09 01:13:21

接收Pull Request的相关文章

Github Pull Request的提出与采纳

这一文来简要介绍一下Github Pull Request(以下简称PR)的使用方法: 作为PR的提出者,如何对某个仓库提交PR,如何根据仓库管理者对所提交PR的反馈对PR进行完善 作为PR的接收者,如何对PR进行测试,对提出者进行反馈以及合并PR到仓库中. 这里我使用两个GitHub账户来进行说明,PR接收者账户为lml256,PR提出者账户为rikkaii.并以lml256账户中的learngit仓库进行试验. 如何提出PR 如果你对Github上的某个开源项目非常感兴趣,想贡献自己的力量为

github的pull request是指什么意思

有一个仓库,叫Repo A.你如果要往里贡献代码,首先要Fork这个Repo,于是在你的Github账号下有了一个Repo A2,.然后你在这个A2下工作,Commit,push等.然后你希望原始仓库Repo A合并你的工作,你可以在Github上发起一个Pull Request,意思是请求Repo A的所有者从你的A2合并分支.如果被审核通过并正式合并,这样你就为项目A做贡献了

使用 VisualCode + iTerm2 提交github的Pull Request

VisualCode集成github功能,是程序猿参与开源项目的利器.相比Sublime简单了很多(插件安装繁琐,比如你试试在Sublime2 安装gosublime,这里有坑; Sublime 3修复了Package Control的Bug).总之,有大牛Eric Gramma负责的项目值得信赖,主要差别是生产效率上面. 对VisualCode还不是特别熟悉,今天使用一种混合模式进行github开源项目开发-即使用iTerm2终端clone项目,在VisualCode进行编辑和提交,在gith

git 上的pull request 是什么意思?

1.git 上有常见的pull request 功能 2.pull request 的含义 解释一: 有一个仓库,叫Repo A.你如果要往里贡献代码,首先要Fork这个Repo,于是在你的Github账号下有了一个Repo A2. 然后你在这个A2下工作,Commit,push等.然后你希望原始仓库Repo A合并你的工作,你可以在Github上发起一个Pull Request,意思是请求Repo A的所有者从你的A2合并分支. 如果被审核通过并正式合并,这样你就为项目A做贡献了. 解释二:

Git - Pull Request工作流

Pull Requests是Bitbucket上方便开发者之间协作的功能.提供了一个用户友好的Web界面,在集成提交的变更到正式项目前可以对变更进行讨论. 开发者向团队成员通知功能开发已经完成,Pull Requests是最简单的用法.开发者完成功能开发后,通过Bitbucket账号发起一个Pull Request.这样让涉及这个功能的所有人知道,要去做Code Review和合并到master分支. 但是,Pull Request远不止一个简单的通知,而是为讨论提交的功能的一个专门论坛.如果变

dragloader.js帮助你在页面原生滚动下实现Pull Request操作

dragloader.js是一个面向移动Web开发的JavaScript库,帮助开发者在使用页面原生滚动时,模拟上/下拉手势,实现Pull Request操作. 在移动设备上,一般会使用 drag down 手势实现加载最新 使用 drag up 手势实现加载更多 dragloader样例需运行在 Smart Phone/Pad 上,扫描二维码: Note:目前dragloader.js在iOS下运行不是很稳定,上拉操作会有闪跳现象,Android下表现正常.

git pull request

如何发 PR 以下以 wiki-pages 为例 把项目 fork 到自己名下,然后 clone 到本地 git clone [email protected]:yexiliang/wiki-pages.git 将原始项目加为上游 git remote add upstream [email protected]:op/wiki-pages.git 在本地项目建立分支并切换到该分支 git checkout -b dev 在 dev 分支上开发,提交 touch foo.txt git add

AndroidStudio中使用Git-高级篇(二)——新建分支(branch)和拉取请求(Pull request) (by 星空武哥)

转载请标注来源:http://blog.csdn.net/lsyz0021/article/details/51842774 AndroidStudio中使用Git-初级篇(一)--从github上传和下载项目 AndroidStudio中使用Git-高级篇(二)--新建分支(branch)和拉取请求(Pull request) 前段时间写过一篇文章介绍如何在AndroidStudio使用上传项目到github,今天接着给大家带来了他的高级篇--新建分支(branch)和拉取请求(Pull re

(转载)新手如何正确理解GitHub中“PR(pull request)”中的意思

我从知乎看到的两个答案,分别从实际意义以及语言学角度告诉你改怎么理解PR,很简洁,这个理解非常棒,会解决新手刚看到PR(pull request)这个词时的困惑. 实际意义: 有一个仓库,叫Repo A.你如果要往里贡献代码,首先要Fork这个Repo,于是在你的Github账号下有了一个Repo A2,.然后你在这个A2下工作,Commit,push等.然后你希望原始仓库Repo A合并你的工作,你可以在Github上发起一个Pull Request,意思是请求Repo A的所有者从你的A2合