git学习--GitHub上如何进行PR(Pull Request)操作
一、前言
昨晚应老师要求参与教材的修正工作,需要涉及到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
三、个人总结
需要注意的细节主要有以下几点:
- fork这个操作的一系列细节;
- 与两个远程仓库分别建立链接;
- 将修改提交到自己的远程仓库;
- Compare需要注意。
四、待解决问题
- 如何同步远程仓库(参见下一篇博客);
- Merge时出现冲突如何处理。
git学习--GitHub上如何进行PR(Pull Request)操作的更多相关文章
- GitHub中PR(Pull request)操作
1. 贡献代码: 贡献代码,通俗的说,就是自己修改了代码,希望合并到别人的Repository(仓库)中.将自己的智慧贡献给开源社区.下面将详细讲解步骤 1.1 第一步:fork 在GitHub社区闲 ...
- (转)GitHub中PR(Pull request)操作 - 请求合并代码
转:https://www.jianshu.com/p/b365c743ec8d 前言 本文尽量使用图形工具介绍如何向开源项目提交 Pull Request,一次亲身经历提交 PR 1.fork 项目 ...
- (转载)新手如何正确理解GitHub中“PR(pull request)”中的意思
我从知乎看到的两个答案,分别从实际意义以及语言学角度告诉你改怎么理解PR,很简洁,这个理解非常棒,会解决新手刚看到PR(pull request)这个词时的困惑. 实际意义: 有一个仓库,叫R ...
- 本地代码git到github上
本地代码git到github上 对于个程序员来说,不写自己的博客,没有自己的作品集没有Github就不算好的程序员!咳咳~ 开个玩笑.对于我个人来说,要做个程序员,就要有自己的作品集和技术博客(我说是 ...
- 用Git向gitHub上传项目
用Git向gitHub上传项目 1.安装git 2.在git安装目录下,运行git-bash.exe 如图所示 3.在git中绑定你注册gitHub是的用户名.邮箱. $ git config -- ...
- dragloader.js帮助你在页面原生滚动下实现Pull Request操作
dragloader.js是一个面向移动Web开发的JavaScript库,帮助开发者在使用页面原生滚动时,模拟上/下拉手势,实现Pull Request操作. 在移动设备上,一般会使用 drag d ...
- git向gitHub上push和pull数据.
1.在gitHub上首先建立仓储.这个过程就不在啰嗦了. 2.注意上图中右下角的https,ssh等东西. 3.向git上传的工具特别多.我这里用的cygwin. 至于cygwin自己到网上去下载.安 ...
- Git学习笔记-上传一个新的项目到GitHub上
前提: 已有Github账号,已在Github上建立了仓库,已在Github上配置了SSH,已上传过一些项目到Github上 目标: 目前有一个新的项目,需要上传到github上 我的做法记录: 1. ...
- git与github安装、配置、pull、push
操作系统是Ubuntu 16.04 LTS 64bit 1 安装git (1)安装 sudo apt-get install git-core (2)一些全局变量的初始化 在本地建立一个文件夹,然后做 ...
- git学习——Github关联(2)
一.参考学习链接 1.重点看Github与Git的关联. http://www.cnblogs.com/schaepher/p/5561193.html#github 2.git的全面详细介绍. ht ...
随机推荐
- Games101--作业2
说明 该作业主要想实现两个三角形的绘制 绘制结果走样 按照课上所讲的方法,对包围盒里面的所有像素进行判断是否在三角形内,然后着色,这样的结果由于采样频率的问题将导致边缘走样现象的发生 if(!insi ...
- 【已解决】aconda3 创建和切换jupyter Kernel(安装好了tensorflow在jupyter中无法使用)
如下图:在这里更换python环境内核(如果你把tensorflow安装在了一个新建的虚拟环境) 1. 创建新的环境(或者是直接激活进入已经安装了tensorflow的环境) conda create ...
- #dp or 贪心+堆#CF704B Ant Man
题目 分析(dp) 考虑到对于一个排列单独抽出 \(1\sim i\) 可能会分成若干段,而贡献一定是固定的,不会影响之后的选择. 首先 \(a,c\) 加上 \(x\),\(b,d\) 减去 \(x ...
- #树状数组#洛谷 5677 [GZOI2017]配对统计
题目 分析 考虑处理出所有右端点的能够匹配的左端点,然后用树状数组离线查询 代码 #include <cstdio> #include <cctype> #include &l ...
- Ohos-MPChart——支持多种图表绘制的组件
简介 Ohos-MPChart是OpenAtom OpenHarmony(简称"OpenHarmony")系统显示各种图表视图的三方组件,用于声明式应用开发,提供了多种多样的图表视 ...
- Qt 实现涂鸦板三:实现鼠标绘制矩形
.h 文件 #pragma once #include <QtWidgets/QWidget> #include "ui_xuexi.h" #include " ...
- HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用
2023年8月6日华为开发者大会2023(HDC.Together)圆满收官,伴随着HarmonyOS 4的发布,华为向开发者发布了汇聚所有最新开发能力的HarmonyOS NEXT开发者预览版, ...
- spark 计算前后两条记录之间的差(diff),时间差等
有时候会遇到这样的场景:有一个datafram,我们需要计算同一组对象中,前后两条记录之间的差值,此处并不仅限于时间,还可以是其他的数据类型 需要用到两个工具:spark窗口函数Window对对象分组 ...
- 重新点亮linux 命令树————rpm软件包管理[十一七]
前言 简单介绍一下软件管理 正文 软件包管理器 rpm 包和rpm 命令 yum 仓库 源代码编译安装 内核升级 grub配置文件 软件包管理器: 包管理器是为了方便软件安装.卸载,解决软件依赖关系的 ...
- c# 前台和后台线程
前台和后台线程 Net的公用语言运行时(Common Language Runtime,CLR)能区分两种不同类型的线程:前台线程和后台线程.这两者的区别就是:应用程序必须运行完所有的前台线程才可以退 ...