热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Github本地合并(merge)他人提交的pr

Github本地合并(merge)他人提交的pr-Github上有些项目可能作者长时间没有进行维护,会出现有些新的pr没有合并到主分支master上.这时如果想在本地应用这个新的p

Github 上有些项目可能作者长时间没有进行维护, 会出现有些新的 pr 没有合并到主分支 master 上. 这时如果想在本地应用这个新的 pr 呢? 一般来说主要有以下几种方式:

  • 针对提交的pr , 查看具体的改动文件和改动内容, 然后在本地进行对应的修改.
  • 通过 git mergegit cherry-pick 进行合并.

手动修改 PR 内容

github 上的 w3m 为例, 查看 pull requests 列表如下:

我们选择最后一个比较简单的 PR 进行查看, 点击 Files changed 查看文件具体的变更信息.

根据文件的具体变更信息, 对应的在本地进行相应的修改. 这种方式只适合改变很少的 PR. 如果 PR 的信息量比较大的时候, 那就不适合了. (除非非常喜欢手工活☴ )

通过 Git 命令合并

首先我们通过 git clone 把对应的仓库下载到本地. 通过以下命令可以查看远程仓库为 origin, 这也时克隆后默认提供的远程仓库名称.

➜  w3m git:(master) ✗ git remote -v
origin  https://github.com/tats/w3m (fetch)
origin  https://github.com/tats/w3m (push)

接着我们通过 PR 中的信息, 找到具体的 PR 提供者的仓库, 并复制其仓库地址.

通过命令 git remote add 远程仓库名 远程仓库地址 增加新的远程仓库信息.

➜  w3m git:(master) ✗ git remote add testpr1 https://github.com/ctrlcctrlv/w3m.git

➜  w3m git:(master) ✗ git remote -v
origin  https://github.com/tats/w3m (fetch)
origin  https://github.com/tats/w3m (push)
testpr1 https://github.com/ctrlcctrlv/w3m.git (fetch)
testpr1 https://github.com/ctrlcctrlv/w3m.git (push)

仓库增加成功后, 通过 git fetch 仓库名 把新加的远程仓储代码下载到本地.

➜  w3m git:(master) ✗ git fetch testpr1
remote: Enumerating objects: 9074, done.
remote: Counting objects: 100% (4961/4961), done.
remote: Compressing objects: 100% (144/144), done.

最后通过 mergecherry-pick 合并整个分支或者某个具体的提交. 下面是如何查看具体的分支和 commitid 信息.


# 合并具体的 commitid
➜  w3m git:(master) ✗ git cherry-pick 12eac50d44f7c02987a78b7f4d55477370afc1b1
[master e87730b] Use libsixel fork with CVE fixes
 Author: Fredrick Brennan 
 Date: Sat Jun 12 21:49:02 2021 -0400
 1 file changed, 1 insertion(+), 1 deletion(-)

# 合并具体的分支
➜  w3m git:(master) git merge testpr1/patch-1

当我们合并完相关的 PR 时, 可以通过 git remote rm 仓库名 进行清理 PR 远程仓库的相关信息.

➜  w3m git:(master) git remote rm testpr1
➜  w3m git:(master)

推荐阅读
  • Day 5 20190120 老男孩python学习第5天 内容整理
    今天继续看MasteringPycharm的视频,一个半小时看git的教学视频:视频1小时44分钟,看了2个半小时以上https:www.youtube ... [详细]
  • 883.三维形体投影面积
    题目883.三维形体投影面积题目大意在nxn的网格grid中,我们放置了一些与x,y,z三轴对齐的1x1x1立方体。每个值vgri ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 本文介绍了如何使用MATLAB调用摄像头进行人脸检测和识别。首先需要安装扩展工具,并下载安装OS Generic Video Interface。然后使用MATLAB的机器视觉工具箱中的VJ算法进行人脸检测,可以直接调用CascadeObjectDetector函数进行检测。同时还介绍了如何调用摄像头进行人脸识别,并对每一帧图像进行识别。最后,给出了一些相关的参考资料和实例。 ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • NotSupportedException无法将类型“System.DateTime”强制转换为类型“System.Object”
    本文介绍了在使用LINQ to Entities时出现的NotSupportedException异常,该异常是由于无法将类型“System.DateTime”强制转换为类型“System.Object”所导致的。同时还介绍了相关的错误信息和解决方法。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
  • #define_CRT_SECURE_NO_WARNINGS#includelist.h#includevoidSListInit(PNode*pHead ... [详细]
  • 花瓣|目标值_Compose 动画边学边做夏日彩虹
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Compose动画边学边做-夏日彩虹相关的知识,希望对你有一定的参考价值。引言Comp ... [详细]
  • x86 linux的进程调度,x86体系结构下Linux2.6.26的进程调度和切换
    进程调度相关数据结构task_structtask_struct是进程在内核中对应的数据结构,它标识了进程的状态等各项信息。其中有一项thread_struct结构的 ... [详细]
  • Thisworkcameoutofthediscussioninhttps://github.com/typesafehub/config/issues/272 ... [详细]
  • Imdevelopinganappwhichneedstogetmusicfilebystreamingforplayinglive.我正在开发一个应用程序,需要通过流 ... [详细]
author-avatar
hf40kiu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有