1 如何在GitHub上更新Fork以及PullRequest给源项目-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在GitHub上更新Fork以及PullRequest给源项目

电子工程师 来源:lq 2019-01-08 09:38 次阅读

本文作者黄昱俊,国资企业投资部总经理,主要负责投资部门建设、投资流程管理、投后资源管理。历经10年,从医疗器械研发工程师到投资管理的蜕变,业余尝试ETF量化投资。

本文介绍如何在GitHub上更新Fork以及PullRequest给源项目。

在GitHub上更新Fork

经常遇到的是Fork一个项目之后,源项目的作者做了新的更改,如果没有同步到我自己的Fork,我所做的更新进行Pull Request后,会产生冲突;因此在更新文件之前、至少是Pull Request之前,应当要更新自己的Fork的。

更新Fork的方法有很多,Git写代码是很好的,当小白通常比较难做,步骤缺了就经常不奏效;所以我自己亲测了一个GitHub上更新Fork的方法,做一个教程,与朋友们共勉;废话少说,步骤如下。

一、进入自己Fork来的项目,按New Pull Request按钮,新建一个Pull Request(简称:PR)。

二、如果自己还没有修改过Fork项目的文件,那么此时可以点击switching the base,切换到基于我自己的Fork项目。

如果已经修改或更新过Fork项目的文件,那么可以通过选择Base Fork和Head Fork来从源项目更新到我自己的Fork项目。

这里有个小技巧:在默认状态下,会是Base源项目,Head我自己的Fork项目;这样选择任何一个时,会调到某个无法更新的页面;解决方法是先Base或Head一个其他人的账号下的Fork,接着选择Head/Base源项目或我自己的Fork项目,这样就不会出现Base和Head都是自己或者都是源项目的情况。

三、Base和Head设置完,就进入Comparing Changes页面,确认一下Base和Head,以及最新的更新内容。

内容没问题就Create PR了,即上图绿色箭头所指向的绿色按钮;接着输入主题,Create。

四、新Create的PR在哪里可以找到呢?进入我自己的Fork项目,导航条上的PR进入,看到Open的有一个,就是刚才更新的。

点击进入确认一下。

五、把源项目的更新Merge到我的Fork项目。

Confirm Merge,确定这个更新;

可以看到,这个PR已经更新完成,呈紫色的Merge状态。

六、最后验证一下是否更新到最新的项目,因为已知是更新了Pattern Recognition,所以直接进入。

查看到下面5个是最新修改的,15个小时之前修改了内容。

至此整个更新Fork的方法步骤已完成,玩得愉快!

将更新的Fork项目PullRequest给源项目

我们Fork项目之后进行了修改或添加新文件,需要Pull Request(简称:PR)给源项目,让作者Merge融入到他的源项目里。

在PR之前,甚至开始修改或创建新文件之前,先看看源项目是否有更新,如有更新,可按第一部分内容,先更新自己的Fork项目,再做创建新文件,老司机说这样冲突比较少。

一、看到别人的好项目,如何“据为己有”?Fork一下咯!

点击Fork,会进入Fork进行中的界面;

Fork完成后,可以在自己的主页(Your Profile)看到Fork的项目。

二、可以通过Create new file或upload file新建或上传文件,要注意的是:上传的文件会把原来同名文件覆盖掉!

这里的会有文件上传的进度条,如下图:共13个文件,已上传9个;上传完成的文件会在下方显示。

这个上传文件由于服务器在国外的缘故,死慢死慢,经常就废了,如下图。

当看到下面这个Processing your files…页面,那就恭喜你了,经过几十次的上传,总算work了;如果出现一片空白的页面,那么只好重复choose your files,再次Confirm Changes。

三、新建PR:可以在Fork项目的根目录下,或者任意的目录下,Pull Request。

Pull Request后会进入Comparing changes页面,核对一下Base Fork和Head Fork(蓝色圆圈)、以及更新的内容(紫色方框);由于已经更新过最新的源项目内容,与源项目同步好了,所以此时显示“Able to merge”(红圈绿字);一切就绪,点击Create创建PR。

输入主题,并Create PR;

这时可以看到已经将这个更新PR给源项目作者,PR序号为#52,状态open。

四、源项目作者Merge此PR,将此次的更改融入到源项目,并形成Commits记录。

序号#52的PR已经Merge:

进入源项目,查看Commit记录:

至此,整个Fork、修改或创建文件、Pull Request以及Merge的步骤已完成,玩的愉快!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4779

    浏览量

    68519
  • GitHub
    +关注

    关注

    3

    文章

    468

    浏览量

    16427

原文标题:如何更好地玩转GitHub?

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    教你如何快速在Github为RT-Thread贡献代码

    我们真诚地感谢您的贡献,欢迎通过 GitHubfork 和 pull request 流程来提交代码(文末有1024节福利)。
    的头像 发表于 10-26 06:17 7338次阅读
    教你如何快速在<b class='flag-5'>Github</b><b class='flag-5'>上</b>为RT-Thread贡献代码

    关于 fork 和 exec 是如何在 Unix 上工作的

    本文是关于 fork 和 exec 是如何在 Unix 上工作的。你或许已经知道,也有人还不知道。几年前当我了解到这些时,我惊叹不已。
    的头像 发表于 01-22 09:09 5023次阅读

    Github发布史上最大更新

    看好Github以后的走向,出了很多调侃。比方说充值会员才能搜索下载项目,但是从这几个月的风声来看其实一切都发展的还不错。就在上个月的时候Github刚做过一个更新,他们改版并放弃了j
    发表于 10-17 10:03

    何在esp32板子实现自己的web_radio

    在esp32开发板实现的web_radio,基于wm8978 codec芯片前言下载编译硬件连接烧写测试TODO前言本文介绍了如何在esp32板子实现自己的web_radio,用的是wm8978
    发表于 08-12 06:49

    分享几个在GitHub嵌入式相关的开源项目

    关注+星标公众号,不错过精彩内容来源 | 人人都是极客大家平时学习的资源可能来自不同地方,对于程序员来说,Github上高星的开源项目值得了解并学习。今天就大家分享几个在GitHub
    发表于 10-27 08:10

    github入门到上传本地项目步骤

    GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个
    发表于 11-29 16:51 2231次阅读

    github使用教程_github菜鸟教程

    GitHub 拥有一个非常鼓励合作的社区氛围。这一方面源于 GitHub 的付费模式:私有项目需要付费,而公共项目完全免费。这意味着 GitHub
    发表于 11-29 17:22 1.5w次阅读
    <b class='flag-5'>github</b>使用教程_<b class='flag-5'>github</b>菜鸟教程

    2018 年 2 月份 GitHub 最热门的开源项目

    2 月份 GitHub 最热门的开源项目又出炉了,又有哪些新的项目挤进热门榜单了呢,一起来看看。
    的头像 发表于 03-23 08:53 4659次阅读

    100天让你学会机器学习的项目

    其中一名叫Avik Jain的机器学习爱好者,创建了一个100-Days-Of-ML-Code的项目,很快引起了大家的注意,截至今日,该项目已经获得了 11570 个「star」以及 1993 个
    的头像 发表于 09-17 16:42 2887次阅读

    如何为GitHub这些项目贡献代码呢?

    Harry在找到这个项目之后,点击右上角的「fork」按钮。稍等片刻后,就会在Harry的账号下克隆了一个一样的项目githubTest,包括文件、提交历史、issues、和其余一些东西。
    的头像 发表于 10-29 16:12 2117次阅读

    GitHub发布史上最大更新

    10 月 16 日,在年度 GitHub Universe 正式召开,在大会上不仅发布了GitHub重大更新,还带来了 2018 年的年度报告
    的头像 发表于 11-03 09:31 4617次阅读

    对“Fork”做一个技术方面的简介

    和 Git fork 之简单指南”一文。顺便说一句,我们的 LCTT 翻译组就是通过复刻fork + PR 的方式运作的,这也是 GitHub
    发表于 04-02 14:48 304次阅读

    GitHub宣布开放无限私有存储库以及限时访问GitHub Actions

    GitHub 宣布,即日起,所有用户都可以免费使用该平台的核心功能。无论是个人免费账户、还是商业项目团队,都可访问 GitHub 的无限私有存储库、以及每月 2000 分钟的
    的头像 发表于 04-15 09:36 3599次阅读

    如何精准地在GitHub搜索项目

    那么除了这些要素之外,项目本身的star数和fork数,也是评判一个开源项目是否火热的标准,这同时也是一个很重要的搜索标准。另外我们也要注意观察这个项目的最近
    的头像 发表于 05-11 09:59 2042次阅读
    如何精准地在<b class='flag-5'>GitHub</b>搜索<b class='flag-5'>项目</b>

    Python监控Github项目如何更新并自动下载

    让我们 用Python监控Github项目是否有更新,如果有的话自动下载该更新 ! 1.统一文件名格式 为了能够获取github
    的头像 发表于 11-03 15:45 902次阅读
    Python监控<b class='flag-5'>Github</b><b class='flag-5'>项目</b>如何<b class='flag-5'>更新</b>并自动下载