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

在GitHub上fork项目后,如何与原仓库同步?

起因之前,我写过一篇文章:在GitHub上fork项目后,如何与原仓库同步?图解全过程,介绍如何在自己for

起因

之前,我写过一篇文章:在GitHub上fork项目后,如何与原仓库同步?图解全过程,介绍如何在自己fork的项目里跟随原仓库进行同步更新。

按照这个方法提交的PR是这样的:

可以看到有一些和本次PR无关的提交日志,终于这次被大佬质疑了:

面对大佬的质疑,像我这样优(mí)秀(máng)的人,像我这样聪(xún)明(zhǎo)的人,当然是马上这样回复了:

All right!
我必须推翻之前的我自己写文章,虽然啪啪啪低打了自己的脸,但也要立正站好

终极解决办法

经过我的刻苦学习git知识,我终于找到了终极解决方案,下面以我实际的项目为例,给小伙伴们展示一下。

  1. 先把我自己 fork 的 skywalking 项目克隆到本地:

git clone https://github.com/heihaozi/skywalking.git skywalking

输出如下:

Cloning into 'skywalking'...
remote: Enumerating objects: 232380, done.
remote: Counting objects: 100% (416/416), done.
remote: Compressing objects: 100% (228/228), done.
remote: Total 232380 (delta 119), reused 327 (delta 71), pack-reused 231964
Receiving objects: 100% (232380/232380), 155.35 MiB | 7.12 MiB/s, done.
Resolving deltas: 100% (89444/89444), done.
Updating files: 100% (5790/5790), done.

  1. 进入克隆的本地目录,把 skywalking 官方地址添加为远程仓库,我们叫它upstream:

git remote add upstream https://github.com/apache/skywalking.git

查看是否添加成功:

git remote -v

输出如下:

origin https://github.com/heihaozi/skywalking.git (fetch)
origin https://github.com/heihaozi/skywalking.git (push)
upstream https://github.com/apache/skywalking.git (fetch)
upstream https://github.com/apache/skywalking.git (push)

说明已经添加成功了。

  1. 从远程仓库upstream获取所有更新。

git fetch upstream

输出如下:

remote: Enumerating objects: 344, done.
remote: Counting objects: 100% (344/344), done.
remote: Compressing objects: 100% (83/83), done.
remote: Total 225 (delta 99), reused 185 (delta 68), pack-reused 0
Receiving objects: 100% (225/225), 32.78 KiB | 1.82 MiB/s, done.
Resolving deltas: 100% (99/99), completed with 67 local objects.
From https://github.com/apache/skywalking* [new branch] 5.x -> upstream/5.x* [new branch] 6.x -> upstream/6.x* [new branch] feature/2.x -> upstream/feature/2.x* [new branch] feature/3.0.x -> upstream/feature/3.0.x* [new branch] feature/3.1.x -> upstream/feature/3.1.x* [new branch] master -> upstream/master* [new branch] website-docs/8.2.0 -> upstream/website-docs/8.2.0* [new branch] website-docs/8.3.0 -> upstream/website-docs/8.3.0* [new branch] website-docs/8.4.0 -> upstream/website-docs/8.4.0* [new branch] zipkin -> upstream/zipkin

  1. 确保分支在主干上:

git checkout master

  1. 重写主干的历史纪录:

git rebase upstream/master

输出如下:

Successfully rebased and updated refs/heads/master.

  1. 强制推送到 GitHub 上的远程仓库:

git push -f origin master

输出如下:

Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/heihaozi/skywalking.git17fffe8e1..3b15f8d13 master -> master

至此,大功告成!

在文章最后求赞,有些人可能会想,求赞狗我才不点,我就要白嫖;而有些人则很 nice,花了几秒钟,点赞收藏评论一气呵成。




可能这随手的一键三连,就让我们成为了朋友,以后他有什么工作或职场的问题,我可以给出一些有用的建议。


推荐阅读
  • 初始化初始化本地空版本库,仓库,英文名repositorymkdirtest&&cdtestgitinit克隆项目到本地gitclone远程同 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • 双十一在家学用 Git
    对于所有的开发者来说,掌握一门代码版本控制系统都是必须的,无论是自己做项目,团队合作,工作中的合作,都离不开版 ... [详细]
  • 前言本篇为大家总结社区多人合作常见的场景和对应的git操作命令。本篇非新手教程,阅读本篇前需具备Git基础知识。Git入门教程请参考https://www ... [详细]
  • Git GitHub多人协作
    在学校做一个小项目需要多人协作,就用到了gitHub,百度了一下多数写得乱七八糟或者支离破碎,于是总结了一下自己的步骤如下,第一次使用GitHUb,哪里不对望大神指出一.前期准备: ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
  • angular.element使用方法及总结
    2019独角兽企业重金招聘Python工程师标准在线查询:http:each.sinaapp.comangularapielement.html使用方法 ... [详细]
  • Imdevelopinganappwhichneedstogetmusicfilebystreamingforplayinglive.我正在开发一个应用程序,需要通过流 ... [详细]
  • 修正我的GitHub commit 数据
    早晨上班,滴滴搭车里,我在掘金这个帖子看到大家晒自己的Github活跃记录,我也晒了下自己的记录。不过太少了。有遗漏的commits状况这也让我知道,自己觉得自己很忙的,实际上提交 ... [详细]
  • 图解 Google V8 # 19 :异步编程(二):V8 是如何实现 async/await 的?
    说明图解GoogleV8学习笔记前端异步编程的方案史1、什么是回调地狱?如果在代码中过多地使用异步回调函数,会将整个代码逻辑打乱,从 ... [详细]
  • 1.码云上根据需求创建项目;2.进入项目——克隆下载 选择复制SSH3.clone码云上的项目到本地:在相关目录(如A)下运行终端,执行指令:gitclone复制的SSH地址;  ... [详细]
author-avatar
mobiledu2502900255
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有