【Git系列】如何同步原始仓库的更新到你的fork仓库?

🎉🎉🎉欢迎来到我们的博客!无论您是第一次访问,还是我们的老朋友,我们都由衷地感谢您的到来。无论您是来寻找灵感、获取知识,还是单纯地享受阅读的乐趣,我们都希望您能在这里找到属于自己的收获,也欢迎评论和留言,分享您的想法和见解。

你的每一次阅读,都是我在键盘上敲下这些文字的勇气 (๑•̀ㅂ•́)و✧。
✨️✨️欢迎订阅本专栏✨️✨️

文章目录

      • 前言
      • 如何同步原始仓库的更新到你的fork仓库?
        • 1. 打开终端或命令提示符
        • 2. 添加上游仓库(如果尚未添加)
        • 3. 获取上游仓库的更新
        • 4. 切换到主分支
        • 5. 合并上游更改到你的主分支
          • 方法一:使用 git merge
          • 方法二:使用 git rebase
        • 6. 推送更新到你的 GitHub fork 仓库
      • 总结

前言

当你 fork 其他开发者的 GitHub 仓库后,你在自己的账户下创建了该仓库的一个副本。然而,fork 后的仓库不会自动与原始仓库(也称为上游仓库)同步。如果原始仓库的开发者更新了代码,这些更新不会自动反映在你 fork 的仓库中。

如何同步原始仓库的更新到你的fork仓库?

要保持你的 fork 仓库与原始仓库同步,你需要手动执行以下步骤:

1. 打开终端或命令提示符

首先,打开你的终端(macOS/Linux)或命令提示符(Windows),然后导航到你的本地 fork 仓库的目录。例如:

cd /path/to/your/forked/repository
2. 添加上游仓库(如果尚未添加)

上游仓库是指你最初 fork 的原始仓库。你需要将其添加为一个新的远程仓库,通常命名为 upstream

git remote add upstream https://github.com/原始开发者用户名/原始仓库名.git

你可以通过以下命令验证远程仓库是否添加成功:

git remote -v

你应该能看到 origin(指向你的 fork)和 upstream(指向原始仓库)的 URL。

3. 获取上游仓库的更新

使用 git fetch 命令从上游仓库获取最新的更改:

git fetch upstream
4. 切换到主分支

确保你的本地仓库在主分支上(通常是 mainmaster):

git checkout main

需要将 main 替换为你的主分支名称

5. 合并上游更改到你的主分支

有两种主要方法可以将上游更改合并到你的主分支:mergerebase

方法一:使用 git merge
git merge upstream/main

需要将 main 替换为上游仓库的主分支名称

这将把上游仓库的更改合并到你的本地主分支。如果有冲突,Git 会提示你解决冲突。

方法二:使用 git rebase
git rebase upstream/main

rebase 会将你的本地提交“移到”上游更改的顶部,使历史记录更加线性。同样,如果有冲突,Git 会提示你解决冲突。

6. 推送更新到你的 GitHub fork 仓库

完成合并或变基后,将更新推送到你的 GitHub fork 仓库:

git push origin main

需要将 main 替换为你的 fork 仓库主分支名称

总结

fork 后的仓库不会自动与原始仓库同步。要保持同步,你需要手动添加上游仓库作为远程仓库,获取其更新,并将其合并到你的本地分支,然后推送到 GitHub。通过这些步骤,可以确保你的 fork 仓库始终包含原始仓库的最新更改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/82588.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Could not obtain transaction-synchronized Session for current thread

背景 写了一个函数,分别支持手动调用和定时任务调用。 测试的时候一直用手动点击按钮触发函数,功能可用 等到了测试定时任务的时候,后台报错 Could not obtain transaction-synchronized Session for current thread错误分析 事务管理不匹…

linux nm/objdump/readelf/addr2line命令详解

我们在开发过程中通过需要反汇编查看问题,那么我们这里使用rk3568开发板来举例nm/objdump/readelf/addr2line 分析动态库和可执行文件以及.o文件。 1,我们举例nm/objdump/readelf/addr2line解析linux 内核文件vmlinux (1),addr2…

C++自定义简单的内存池

内存池简述 在C的STL的容器中的容器如vector、deque等用的默认分配器(allocator)都是从直接从系统的堆中申请内存,用一点申请一点,效率极低。这就是设计内存池的意义,所谓内存池,就是一次性向系统申请一大片内存(预分…

【极客日常】分享go开发中wire和interface配合的一些经验

在先前一篇文章中,笔者给大家提到了go语言后端编程可以用wire依赖注入模块去简化单例服务的初始化,同时也可以解决服务单例之间复杂依赖的问题。但实事求是来讲,用wire也是有一些学习成本的,wire在帮助解决复杂依赖的问题同时&…

20250605车充安服务器受木马攻击导致服务不可用

https://mp.weixin.qq.com/s/2JyxmDIDBa9_owNjIJ6UIg 因业务服务器受木马攻击,服务器网络资源损耗,业务负载能力受损

web3-虚拟合约 vs 现实合同:权利、义务与资产的链上新秩序

web3-虚拟合约 vs 现实合同:权利、义务与资产的链上新秩序 一、智能合约vs真实世界合约 传统合约:基础要素 如下图,现实世界的合约,会有一个条款,然后下面还有一个“Alice”的签名 提出合约和接受合约; …

【面经分享】京东

线程池核心参数 7 个参数。 coreSize maxSize 阻塞队列 时间 时间 线程工厂 拒绝策略 核心参数的话,有 coreSize、阻塞队列、拒绝策略。 JVM 组成 内存上划分: 线程私有:Java 虚拟机栈,本地方法栈、Tlab、程序计数器 …

工作流引擎-11-开源 BPM 项目 jbpm

工作流引擎系列 工作流引擎-00-流程引擎概览 工作流引擎-01-Activiti 是领先的轻量级、以 Java 为中心的开源 BPMN 引擎,支持现实世界的流程自动化需求 工作流引擎-02-BPM OA ERP 区别和联系 工作流引擎-03-聊一聊流程引擎 工作流引擎-04-流程引擎 activiti 优…

深度学习在非线性场景中的核心应用领域及向量/张量数据处理案例,结合工业、金融等领域的实际落地场景分析

一、工业场景:非线性缺陷检测与预测 1. ‌半导体晶圆缺陷检测‌ ‌问题‌:微米级划痕、颗粒污染等缺陷形态复杂,与正常纹理呈非线性关系。‌解决方案‌: ‌输入张量‌:高分辨率晶圆图像 → 三维张量 (Batch, Height,…

Python-线程同步

多线程 案例 说明: 唱歌方法 sing()跳舞方法 dance()启用两个线程调用主线程结束 代码 # 导入线程模块 import threading import timedef sing(name,age):time.sleep(2)print(唱歌者姓名: name ,年龄: str(age))print(正在唱…

前端八股之JS的原型链

1.原型的定义 每一个对象从被创建开始就和另一个对象关联,从另一个对象上继承其属性,这个另一个对象就是 原型。 当访问一个对象的属性时,先在对象的本身找,找不到就去对象的原型上找,如果还是找不到,就去…

kafka命令

kafka安装先安装zookeeper,jdk 确保jdk版本与kafka版本匹配: 先启动zookeeper: # 启动独立安装的zookeeper ./zkServer.sh start # 也可以自动kafka自带的zookerper ./zookeeper-server-start.sh ../config/zookeeper.pr…

微服务面试(分布式事务、注册中心、远程调用、服务保护)

1.分布式事务 分布式事务,就是指不是在单个服务或单个数据库架构下,产生的事务,例如: 跨数据源的分布式事务跨服务的分布式事务综合情况 我们之前解决分布式事务问题是直接使用Seata框架的AT模式,但是解决分布式事务…

Linux --进程优先级

概念 什么是进程优先级,为什么需要进程优先级,怎么做到进程优先级这是本文需要解释清楚的。 优先级的本质其实就是排队,为了去争夺有限的资源,比如cpu的调度。cpu资源分配的先后性就是指进程的优先级。优先级高的进程有优先执行的…

React 性能监控与错误上报

核心问题与技术挑战 现代 React 应用随着业务复杂度增加,性能问题和运行时错误日益成为影响用户体验的关键因素。没有可靠的监控与错误上报机制,我们将陷入被动修复而非主动预防的困境。 性能指标体系与错误分类 关键性能指标定义 // performance-me…

芒果深度学习检测:开启农业新视界(猫脸码客第230期)

芒果深度学习检测:开启农业新视界 一、引言 芒果作为热带水果中的“明星”,在全球水果市场占据着重要地位,拥有广泛的市场需求和可观的经济价值。伴随人们生活品质的提升,对芒果品质的要求也愈发严苛。芒果产业规模持续扩张&#…

PDF文件转换之输出指定页到新的 PDF 文件

背景 一份 PDF 学习资料需要打印其中某几页,文件有几百兆,看到 WPS 有PDF拆分功能,但是需要会员,开了一个月会员后完成了转换。突然想到,会员到期后如果还要拆解的话,怎么办呢?PDF 文件拆解功能…

【计网】SW、GBN、SR、TCP

目录 三种可靠传输机制(数据链路层) 停止-等待(Stop and Wait,SW)协议 回退N帧(Go-back-N,GBN)协议 选择重传(Selective Repeat,SR)协议 传输…

Go的隐式接口机制

正确使用Interface 不要照使用C/Java等OOP语言中接口的方式去使用interface。 Go的Interface的抽象不仅可以用于dynamic-dispatch 在工程上、它最大的作用是:隔离实现和抽象、实现完全的dependency inversion 以及interface segregation(SOLID principle中的I和D)。…

Async-profiler 内存采样机制解析:从原理到实现

引言 在 Java 性能调优的工具箱中,async-profiler 是一款备受青睐的低开销采样分析器。它不仅能分析 CPU 热点,还能精确追踪内存分配情况。本文将深入探讨 async-profiler 实现内存采样的多种机制,结合代码示例解析其工作原理。 为什么需要内…