Git 同步上游仓库的更新

2025-04-04T20:13:57+08:00 | 1 minute read | Updated at 2025-04-04T21:11:57+08:00

Git 同步上游仓库的更新

Git 同步上游仓库的更新

  使用一个 Github Template 创建了我自己的仓库,需要同步一下补丁更新,总不能自己手抄一遍吧,搜了一下解决方案。

  记录一下。

添加上游仓库

  给上游仓库取个名字,如果将命名为 upstream​ ,可以在本地仓库中运行以下命令:

git remote add upstream https://github.com/$<upstream-repo>.git

获取上游仓库的更改

  运行以下命令以获取上游仓库中的所有分支和提交:

git fetch upstream

合并上游更改

  现在,将上游 main 分支的更改合并到您的本地 main 分支:

git merge upstream/main --allow-unrelated-histories

  如果只需要合并特定的 commit :

git cherry-pick <commit-hash>

  也可以使用

gcp <commit-hash>

  commit-hash 可以直接从 github 网页上复制。

  这时 commit 的作者是源仓库的作者, Vercel 提示我 Build 失败,需要升级到 Pro,可以再修改一个文件,自己添加一条 commit 。

  当然这很不优雅,可以使用下面的命令获取更改到文件,但是不会提交 commit ,

git cherry-pick <commit-hash> --no-commit

  然后手动提交一下

git commit -m "commit information"

解决冲突

  如何自己已经修改过源代码,在合并过程中可能发生冲突,需要手动解决。
Git 也会进行提示,手动编辑冲突文件并保存,然后再提交更改。

批量提交

git cherry-pick <起始提交>^..<结束提交>

  如果有冲突会按照顺序处理,然后执行, continue 直到结束

git cherry-pick --continue
  • <起始提交>​:范围的开始点(不包含此提交,除非用 <起始提交>~ 或 <起始提交>^)。
  • <结束提交>​:范围的结束点(包含此提交)。
  • ^​ 是 Git 的语法,用于指定“之前的提交”。
  • ..​ 表示范围。

推送

git push origin main

  当然默认来说,并不会推送到新加入的 upstream​ ,直接 git push​ 即可

  如果不再需要同步,可以删除上游的仓库

git remote remove upstream

© 2025 喵落阁

欢迎来到克喵的博客~

Me

Hello

  • 🔭 I’m currently studying in Nanjing
  • 🌱 Current learning content: Automation Technology and Applications, front-end (sub), etc
  • 💬 You can ask me some questions about resources。
  • 📫 How to contact my email or official account: kemiaofx@163.com
  • 🍉 Active Community:BLOG | Telegram | X

👋 个人简介


个人主页 | 博客站点

大家好!这里是克喵爱吃卤面的博客。致力于分享资源、生活日记和踩坑教程,代码水准一般,自动化专业大二学生,现于南京就读,普通的大学牛马。

关于我


  • 🖥 个性: 开朗活泼,热爱学习,勤奋工作
  • 🖥 技能: 自动化技术与应用
  • 🖥 个人信息:
    • 🧑 姓名: mcy
    • 🏫 学校: 南京工业职业技术大学,官方网站
    • 🏛️ 年级: 大二
    • 👷 职业: 学生
  • 🖥 兴趣: 计算机,单机游戏,电子产品,数码产品,资源分享
  • 🖥 梦想: 咸鱼算不算?

📈 我的GitHub数据

GitHub Stats

Activity

修仙系列统计卡片

赞助

Social Links