当前位置: 首页 > news >正文

【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.xdnf.cn/news/882433.html

相关文章:

  • 【数据结构】5. 双向链表
  • 老年生活照护实训室建设规划:照护质量评估与持续改进实训体系
  • 2025前端微服务 - 无界 的实战应用
  • 机器学习与深度学习12-K近邻算法
  • C++虚函数表(虚表Virtual Table,简称vtable、VFT)(编译器为支持运行时多态(动态绑定)而自动生成的一种内部数据结构)虚函数指针vptr
  • 关于akka官方quickstart示例程序(scala)的记录
  • 【C++项目】负载均衡在线OJ系统-2
  • 解构与重构:PLM 系统如何从管理工具进化为创新操作系统?
  • 通过Chain Prompts方式将LLM的能力引入测试平台:正交实验测试用例生成
  • 多模态大语言模型arxiv论文略读(109)
  • 计算机基础知识(第四篇)
  • Apache Doris + MCP:Agent 时代的实时数据分析底座
  • Ntfs!ReadIndexBuffer函数分析之nt!CcGetVirtualAddress函数之nt!CcGetVacbMiss
  • 如何在电脑上轻松访问 iPhone 文件
  • 斐波那契数列------矩阵幂法
  • 【Python3教程】Python3基础篇之错误和异常
  • Python语法进阶篇 --- 封装、继承、多态、静态方法、类方法
  • 嵌入式学习Day33
  • 如何更快的提升项目的开发进度
  • 从 ClickHouse、Druid、Kylin 到 Doris:网易云音乐 PB 级实时分析平台降本增效
  • 【SSM】SpringBoot笔记2:整合Junit、MyBatis
  • XHR / Fetch / Axios 请求的取消请求与请求重试
  • JVM——如何打造一个类加载器?
  • NLP驱动网页数据分类与抽取实战
  • 「深度拆解」Spring Boot如何用DeepSeek重构MCP通信层?从线程模型到分布式推理的架构进化
  • 自动驾驶+人形机器人?亚马逊即将测试人形机器人送货
  • 元素 “cas:serviceResponse“ 的前缀 “cas“ 未绑定
  • 使用ReactNative加载Svga动画支持三端【Android/IOS/Harmony】
  • StarRocks
  • Spring Boot + OpenAI 构建基于RAG的智能问答系统