Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

学会Pull request

2019/09/15 git
Word count: 1,022 | Reading time: 4min

GitHub中发起PR(pull Request)

PR是为了贡献代码:

​ 贡献代码,通俗的说,就是自己修改了代码,希望合并到别人的Repository(仓库)中。将自己的智慧贡献给开源社区。

一.贡献代码:

1.第一步:Fork

在GitHub社区闲逛时,看中了某个项目代码,如:spring-projects/spring-framework,点击页面Fork按钮,会生成一个自己的Repository(仓库:thinkingfioa/spring-framework),如下图:

1

2.第二步:修改

Fork成功后,通过git clone、修改、commit、push等操作后,将修改的内容,提交到自己仓库(thinkingfioa/spring-framework)中。如果对git clone、commit和push不知道的,自行百度。如下图:

2

3 第三步:请求合并代码(Pull Request)

在2步骤时,我们修改了自己的仓库(thinkingfioa/spring-framework)代码。我们希望贡献自己的一份力量,将修改的Commit也提交到别人的仓库(spring-projects/spring-framework)中。则要进行Pull Request

3.1 创建PR

3.1

3.2 Create pull request

请特别注意下图中标红的部分,不能搞反了。点击: Create pull request 绿色按钮,完成提交PR。

3.2

3.3 等待

提交PR完成后,等待对方仓库(spring-projects/spring-framework)的管理员审核,如果他同意,则贡献代码完成了。

二.同步最新代码

PR除了贡献代码外,还可以同步对方最新代码。通俗的说,fork某个仓库(如: spring-projects/spring-framework)代码一段时间后,为了同步自己仓库(thinkingfioa/spring-framework)和对方仓库(spring-projects/spring-framework)代码,保证自己仓库代码是最新版本。

2.1.1 Create pull request

这一步和上面3.2一样的,只是要注意箭头,哪个仓库合并哪个仓库。请自习注意下图标红部分

5.1

2.1.2 点击绿色按钮,完成代码同步

5.2

摘自:https://blog.csdn.net/thinking_fioa/article/details/79516352?tdsourcetag=s_pctim_aiomsg

GitHub之接收、处理Pull Request

1.创建一个仓库来演示下。

假设创建仓库的人称为:“老大”

2.成员Fork后修改

成员x695 在自己的网页上fork这个仓库,然后git clone到本地,然后创建特性分支,基于特性分支修改完成提交,push到origin 远程仓库git push origin (master(本地):master(远程) )

3.成员发PR到老大

6

4.老大登陆自己的账号,到PR页签

7

5.老大在本地的检查

为了防止这个成员乱改,如果不检查可以直接进行步骤6老大还要检查下假如还要用于演示的话,老大就要把代码拉到本地了,看看修改后有啥区别

  1. git clone 自己创建的项目
  2. git remote add stream 项目成员的仓库/获取项目成员仓库设置为本地仓库的远程仓库
    git fetch 获取项目成员的仓库数据
  3. 将成员的仓库和分支数据全部拉到自己本地后,创建一个用户检查的分支 pr1,并进入这个分支
    将项目成员的number1 分支和自己的分支pr1进行合并 git merge stream/number1
  4. 这样一来分支pr1就和项目成员的分支number1一样了,检查完毕,进行删除 git branch -D pr1

6.老大合并或评论PR

点击 add number1 可以回复评论,然后也可以直接点击 merge pull request 通过

  1. 老大如果不愿意登陆网页,也可以在本地进行如下操作
  2. 在步骤5中已经完成了,前2步的前提下进行下一步
  3. git checkout master,切换到主分支
  4. git merge stream/number1 将成员的分支合并到主分支
  5. push前进行检查,git diff oragin/master 看看本地合并后的仓库和远端的有啥区别
  6. 如果确认无误直接进行git push 就可以了
  7. 完成上面的5步之后,仓库的Pull Request 会自动成Open状态变成Close 状态。

摘自:https://blog.csdn.net/x6_9x/article/details/50902777

Github官方文档

About pull requests

Merging a pull request

Closing a pull request

Checking out pull requests locally

Author: Mrli

Link: https://nymrli.top/2019/03/28/学会Pull-request/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
使用git将项目上传到github(最简单方法)
NextPost >
蓝桥杯突击训练
CATALOG
  1. 1. GitHub中发起PR(pull Request)
    1. 1.1. 一.贡献代码:
      1. 1.1.1. 1.第一步:Fork
      2. 1.1.2. 2.第二步:修改
      3. 1.1.3. 3 第三步:请求合并代码(Pull Request)
        1. 1.1.3.1. 3.1 创建PR
        2. 1.1.3.2. 3.2 Create pull request
        3. 1.1.3.3. 3.3 等待
    2. 1.2. 二.同步最新代码
      1. 1.2.1. 2.1.1 Create pull request
      2. 1.2.2. 2.1.2 点击绿色按钮,完成代码同步
  2. 2. GitHub之接收、处理Pull Request
    1. 2.0.1. 1.创建一个仓库来演示下。
    2. 2.0.2. 2.成员Fork后修改
    3. 2.0.3. 3.成员发PR到老大
    4. 2.0.4. 4.老大登陆自己的账号,到PR页签
    5. 2.0.5. 5.老大在本地的检查
    6. 2.0.6. 6.老大合并或评论PR
  • 3. Github官方文档