一、前言

昨晚应老师要求参与教材的修正工作,需要涉及到github上的PR(Pull Request)操作。本来以为很简单的一个事情,没想到还得让我翘课,花了一个多小时的时间才搞明白,收获挺多。饭先不吃,先写博客,分享出来。

二、实现步骤

简单暴力的实现步骤,先不做太深入的细节分析。

为了叙述方便,特此声明:

此处小明要与小红进行合作,小明需要对小红在GitHub上的的Repository进行fork等一系列的操作。

2.1 将小红在GitHub上的Repository clone到小明的本地电脑

这一步看起来很简单事实上涉及到一个细节,我之前一直都忽略了。

上图:

2.1.1 fork小红在GitHub上的Repository到小明的GitHub

此操作的作用是将k小红在GitHub上的Repository到小明的GitHub,这时小明的GitHub上多了一个fork的Repository;

如下图:

2.1.2 clone小明的GitHub Repository到小明的本地电脑

打开刚才fork的Repository,复制该Repository的SSH使用命令

git clone git@github.com:GaoZiqiang/firstGit.git

clone到小明的本地电脑;

2.2 与小红在GitHub上的的Repository建立新的链接

2.2.1查看当前链接情况

使用

git remote -v

命令查看一下小明的本地Repository与哪些远程仓库建立了链接,你会发现:只与小明在GitHub的Repository建立了链接,很显然没有与小红在GitHub上的Repository建立链接,如下图:

2.2.2 与小红的GitHub上的Repository建立链接

现在使用命令

git remote add upstream https://github.com/timo1160139211/firstGit.git

与小红在GitHub上的Repository建立链接,注意此处的SSH为小红的GitHub上的Repository的SSH;

查看:

upstream

2.3 修改Commit

2.3.1 新建工作分支

使用命令:

git checkout -b xiaoming-branch

新建并切换到新建的分支 xiaoming-branch;

使用命令:

git branch

查看当前所在分支。

2.3.2 修改

比如新建文件PRTest;

2.3.3 提交

使用 git add PRTest ,git commit ,git push等系列命令提交到小明的GitHub上的Repository(一定注意,是小明的)

2.4 发起PR(Pull Request)

2.4.1 Comparing changes

a.到小明的GitHub的Repository上点击Pull Requests,再点击New pull requests按钮;

如下图:

b.进入Comparing changes界面。



2.4.2 Create pull request

a.点击Create pull request按钮;

b.填写相关信息,在点击Create pull request按钮即可。

2.4.3 Merge

这是小红的任务了。

// 移除本地关联

git remote rm origin

三、个人总结

需要注意的细节主要有以下几点:

  1. fork这个操作的一系列细节;
  2. 与两个远程仓库分别建立链接;
  3. 将修改提交到自己的远程仓库;
  4. Compare需要注意。

四、待解决问题

  1. 如何同步远程仓库(参见下一篇博客);
  2. Merge时出现冲突如何处理。

[原文]

[原文]

git学习--GitHub上如何进行PR(Pull Request)操作的更多相关文章

  1. GitHub中PR(Pull request)操作

    1. 贡献代码: 贡献代码,通俗的说,就是自己修改了代码,希望合并到别人的Repository(仓库)中.将自己的智慧贡献给开源社区.下面将详细讲解步骤 1.1 第一步:fork 在GitHub社区闲 ...

  2. (转)GitHub中PR(Pull request)操作 - 请求合并代码

    转:https://www.jianshu.com/p/b365c743ec8d 前言 本文尽量使用图形工具介绍如何向开源项目提交 Pull Request,一次亲身经历提交 PR 1.fork 项目 ...

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

    我从知乎看到的两个答案,分别从实际意义以及语言学角度告诉你改怎么理解PR,很简洁,这个理解非常棒,会解决新手刚看到PR(pull request)这个词时的困惑.   实际意义:   有一个仓库,叫R ...

  4. 本地代码git到github上

    本地代码git到github上 对于个程序员来说,不写自己的博客,没有自己的作品集没有Github就不算好的程序员!咳咳~ 开个玩笑.对于我个人来说,要做个程序员,就要有自己的作品集和技术博客(我说是 ...

  5. 用Git向gitHub上传项目

    用Git向gitHub上传项目 1.安装git 2.在git安装目录下,运行git-bash.exe  如图所示 3.在git中绑定你注册gitHub是的用户名.邮箱. $ git config -- ...

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

    dragloader.js是一个面向移动Web开发的JavaScript库,帮助开发者在使用页面原生滚动时,模拟上/下拉手势,实现Pull Request操作. 在移动设备上,一般会使用 drag d ...

  7. git向gitHub上push和pull数据.

    1.在gitHub上首先建立仓储.这个过程就不在啰嗦了. 2.注意上图中右下角的https,ssh等东西. 3.向git上传的工具特别多.我这里用的cygwin. 至于cygwin自己到网上去下载.安 ...

  8. Git学习笔记-上传一个新的项目到GitHub上

    前提: 已有Github账号,已在Github上建立了仓库,已在Github上配置了SSH,已上传过一些项目到Github上 目标: 目前有一个新的项目,需要上传到github上 我的做法记录: 1. ...

  9. git与github安装、配置、pull、push

    操作系统是Ubuntu 16.04 LTS 64bit 1 安装git (1)安装 sudo apt-get install git-core (2)一些全局变量的初始化 在本地建立一个文件夹,然后做 ...

  10. git学习——Github关联(2)

    一.参考学习链接 1.重点看Github与Git的关联. http://www.cnblogs.com/schaepher/p/5561193.html#github 2.git的全面详细介绍. ht ...

随机推荐

  1. KingbaseES Json 系列八:Json记录操作函数三

    KingbaseES Json 系列八--Json记录操作函数三(JSON_TABLE) JSON 数据类型是用来存储 JSON(JavaScript Object Notation)数据的.King ...

  2. KingbaseES 如何在日志文件记录查询执行计划

    KingbaseES数据库提供了插件auto_explain,用于在日志中自动记录慢速语句的执行计划. 相比于explain与对象管理工具,auto_explain对于在大型应用程序中跟踪未优化的查询 ...

  3. 学习蓝图+行为树实现AI角色的跟随操作

    跟随B站视频学习 准备工作 一个角色蓝图类用来设置AI角色,一个Blackboard--AI的大脑,一个AITree--AI的行为控制,一个AIController蓝图类--定义AI的控制器. 是否发 ...

  4. OpenHarmony Liteos_A内核之iperf3移植心得

    一.iperf3工作原理 iperf3主要的功能是测试基于特定路径的带宽,在客户端和服务器端建立连接(三次握手)后,客户端发送一定大小的数据报并记下发送的时间,或者客户端在一定的时间内发送数据并记下发 ...

  5. Docker 13 网络

    Linux 网络 查看本地网络信息: [root@sail ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueu ...

  6. 开发案例:使用canvas实现图表系列之折线图

      一.功能结构 实现一个公共组件的时候,首先分析一下大概的实现结构以及开发思路,方便我们少走弯路,也可以使组件更加容易拓展,维护性更强.然后我会把功能逐个拆开来讲,这样大家才能学习到更详细的内容.下 ...

  7. k8s之存储卷OpenEBS

    一.OpenEBS简介 OpenEBS 是一种开源云原生存储解决方案,托管于 CNCF 基金会,目前该项目处于沙箱阶段. OpenEBS能够将Kubernetes工作节点上可用的住何存储转换为术卷或分 ...

  8. 重新点亮shell————awk 控制语句[十三]

    前言 简单介绍一下控制语句. 正文 例子1: 例子2: 例子3 for循环: 例子4, sum会复用: 同样,其他的while 和 do while 也是可以在awk中使用的. 结 下一节awk数组.

  9. spring cloud 学习笔记 客户端(本地)均衡负载(三)

    前言 在微服务中,一个服务可能即是服务端也是客户端,当别的服务调用该服务的时候这个服务就是服务端,当这个服务主动调用另外一个服务的时候,那么就是服务端. 作为客户端通过服务注册与发现获取某个服务的注册 ...

  10. 密码学系列——数字签名(c# 代码实操)

    前言 结合消息摘要.非对称加密.数字签名三篇,进行代码实操. 代码完整,可复制运行. 正文 代码如下: public class SignatureHelper { /// <summary&g ...