0


github pull request那些事

什么是Pull Request?

网上有人用老师批改卷子这件事来解释什么是Pull Request,觉得挺形象的,变拿来用了:

你做了卷子(好比你创建了一个github仓库),老师收取你的卷子(好比fork了你的github),然后老师会找出你卷子中的错误,并批改,然后将卷子返还给你(这就是Pull Request),你可以再check批改的地方,以确认是否需要接收老师的纠错(一般老师都是对的)。

上面其实就一次github pull Request的完整流程。回到github,我们演示一个pull request的完整流程:

  1. 先点击下图右上角的“Fork”,来fork你关心的仓库(我们下面把它称作父仓库:https://github.com/SecureSmartContract/SecurityLearningForSmartContract)![在这里插入图片描述](https://img-blog.csdnimg.cn/7bdbb13265ea4e37b2a331c3f4b21576.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARG9uZ0FvVG9ueQ==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)注:当你是这个仓库的Owner时,该"Fork"按钮是虚的,也就是你不能自己Fork自己。
  2. Fork成功后,就会在你的账户下,有个同名的仓库(我们下面把它称作子仓库)在这里插入图片描述
  3. 这个子仓库完全属于你,你可以使用任何git命令对它进行更新与提交。
  • 下面我们修改该仓库的README在这里插入图片描述
  • 提交更新到Github子仓库在这里插入图片描述
  1. 回子仓库,提请Pull Request:
  • 点击“Pull Request” Tab键在这里插入图片描述
  • 点击绿色的“New pull request”在这里插入图片描述

可以看到子仓库与父仓库之间的差别

  • 点击绿色“Create pull request”在这里插入图片描述
  • 选择好创建Pull Request的模式,点击右下角“Create pull request”按钮在这里插入图片描述

注:如果与父仓库的更新则会出底部的提示,如果有冲突则会出现“有冲突的提示”。所以,为了避免冲突(解决冲突往往会带来更多的沟通成本),子仓库在提交更新之前,如果能与父仓库同步最好。

  1. 回到父仓库,我们就可以看到新增了一条pull request请求在这里插入图片描述
  2. 父仓库的owner可选择对该pull request merge的方式,并将该请求的更新提交到父仓库在这里插入图片描述在这里插入图片描述
  3. 然后回到父仓库的代码,可以看到其README更新成与子仓库一样了在这里插入图片描述

fork产生的子仓库如何keep up with父仓库?

可以讲,Pull Request是把fork产生的子仓库的更新,提交到父仓库中去。那反过来,父仓库中其他开发者,或forker更新的内容,如何同步到子仓库中?

这个一般的操作是通过git命令,来达到子仓库与父仓库同步的效果。具体步骤如下:

  1. 增加远程的上游仓库(也就是父仓库)
git remote add upstream https://https://github.com/SecureSmartContract/SecurityLearningForSmartContract
  1. 拉取父仓库的更新到本地
git fetch upstream
git merge upstream/master
  1. 将父仓库的更新push到github的子仓库
git push

注:上面的步骤主要是从原理上来讲的,没有具体操作验证。如果大家有困难,可以在下面留言。如果需求很多,我们可以另开一个博客,专门来细讲这个Topic。

如何查看forker?

一个仓库创建后,一般希望有更多的人fork(让更多的老师帮忙改错,以便提高成绩),有更多的Star(表示有更多人关注)。查看一个仓库,被哪些人同仁fork,与forker互动,往往是有效提高仓库质量,获得更多关注的有效途径。下面我们看看在Github中,如何来查看这些友好的forker。

1.登录到自己的仓库
在这里插入图片描述

2.点击顶部“Insights” Tab
在这里插入图片描述

3.再点击左边导航栏的“Forks”,就可以查看到你关心的forker了
在这里插入图片描述

标签: github git

本文转载自: https://blog.csdn.net/DongAoTony/article/details/123576826
版权归原作者 DongAoTony 所有, 如有侵权,请联系我们删除。

“github pull request那些事”的评论:

还没有评论