在Github中进行pull request操作

本文介绍了如何在Github中进行pull request,如何成为github项目合作者,以及如何进行GitHub多人协作。

使用Github中的pull request

pull request是社会化编程的象征,通过这个功能,你可以参与到别人开发的项目中,并做出自己的贡献。pull request是自己修改源代码后,请求对方仓库采纳的一种行为,简称PR。

下面具体说一下github中使用pull request的具体步骤:

(1)fork想要pull request的项目

点击fork按钮之后,你的github账户上会多出一个仓库。该仓库就是你本人的仓库,以后通过这个仓库进行pull request。

(2)在fork的仓库上添加内容

在自己github账户上,对刚刚fork的仓库添加自己的内容,可以直接在github网页上操作。当然,也可以通过相关工具git clone之后在本地上操作,之后再push到github上即可。

(3)创建pull request

在fork的仓库下,点击Pull requests,在里面再点击New pull request

这时,会进入一个新页面,有Base 和 Head 两个选项。Base 是你希望提交变更的目标,Head 是目前包含你的变更的那个分支或仓库

如果base是被你fork的仓库(即项目管理者的仓库),head是自己github账户上的仓库,点击Create pull request之后,就是把你本人的内容推送给项目管理者。

如果base是自己github账户上的仓库,head是被你fork的仓库,表示拉取项目管理者仓库最新的内容

(4)提交pull request

点击Create pull request之后,填写说明,然后再点一次Create pull request的按钮即可。需要注意的是,在提交PR之前,一定要判断是否冲突。如果有冲突,项目管理者(或合作者)需要解决冲突后才能合并PR。为了尽可能少的避免冲突,请务必在每一次创建PR之前,先在第(3)步里面拉取项目管理者仓库最新的内容,然后再创建和提交PR,这样就不会有冲突了。

PR 创建和提交后,管理者就要决定是否接受该 PR。如果接受了,PR提交的内容就同步到项目管理者的仓库中,这样所有的人就都可以看到。

当然,如果成为该项目的合作者,自己就可以点击上图的Merge pull request来合并提交的PR(非合作者无法自己同意提交的PR),因此,合作者不需要管理者同意,就可以将提交的内容同步到项目管理者的仓库。如何成为合作者呢?请继续往下看。

成为github项目合作者

github项目合作者权限很大,可以合并提交的PR,也可以创建自己的分支或删除项目中的内容。也就是说,除了不能删除项目本身外,合作者拥有和管理者一样的权限。但是如果操作失误,处理起来很麻烦。所以,请熟练掌握github的使用后,再申请成为合作者。

如果想成为github项目合作者,可以把自己github的用户名或者注册github的邮箱发给项目管理者,管理者邀请之后,Github会发一份邮件到你的邮箱中,你收到后点击接受即可,如下图所示:

成为github项目合作者以后,如果你提交了PR或通过其它方式提交了自己修改的内容,可以在管理者仓库下看到你的用户名,如下所示:

GitHub多人协作

GitHub多人协作是除了pull request之后另外一种协作方式。

先看下这即几篇文章:

  1. Git GitHub多人协作
  2. [Git & GitHub] 怎么团队合作多人开发项目
  3. 多人共同使用一个github的仓库,实现版本管理,多人开发一个项目

大致知道什么是GitHub多人协作。

GitHub多人协作的前提是:只要成为github该项目的合作者即可,不需要fork项目。

成为github合作者后,就可通过git相关工具就可以操作https://github.com/wxler/DailyAlgorithms.git项目了。

GitHub多人协作最容易出现冲突或其他的问题,如果在Github使用不熟练的情况下,请不要使用该方式。

【参考资料】

  1. github上fork原项目,如何将本地仓库代码更新到最新版本?
  2. github fork 别人的项目源作者更新后如何同步更新
  3. 如何使用github中的pull request功能?
  4. Github中Pull Request操作