You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将GitHub fork仓库同步到指定commit或GitHub release版本

前置操作:配置上游远程仓库

先检查本地仓库已绑定的远程地址:
git remote -v
如果输出中没有名为upstream的上游仓库记录,执行添加操作:
git remote add upstream <上游原项目的Git地址>
添加后再次执行git remote -v,确认能看到upstream对应的fetch、push两条记录即可。

场景1:同步到上游指定Release版本

GitHub Release一般对应上游仓库的特定标签(tag),操作步骤如下:

  • 拉取上游所有标签信息:
    git fetch upstream --tags
  • 切换到你需要更新的本地分支:
    git checkout <待更新的本地分支名>
  • 硬重置本地分支到目标Release对应的标签,使本地分支内容完全对齐该Release版本:
    git reset --hard upstream/<目标Release对应的标签名>
    注意:硬重置会丢弃当前本地分支上所有未提交改动,以及和上游该版本不一致的提交,如果有自行修改的内容需要保留,建议提前将改动提交备份到其他分支,或切换新分支执行同步操作
  • 将对齐后的分支推送到你自己的fork远程仓库:
    git push origin <待更新的本地分支名> --force

场景2:同步到上游指定Commit

如果需要对齐到某一个特定的提交节点,操作逻辑和同步标签类似:

  • 先拉取上游所有提交记录:
    git fetch upstream
  • 切换到需要更新的本地分支:
    git checkout <待更新的本地分支名>
  • 硬重置到目标Commit:
    git reset --hard <目标Commit的哈希值>
  • 推送到自己的fork远程仓库:
    git push origin <待更新的本地分支名> --force

补充:需要保留自有修改的场景

如果你在fork的分支上有自己的提交改动,不想被硬重置丢弃,可以用rebase操作将你的改动迁移到上游指定版本的基础上:

  • 拉取上游对应版本信息后执行:
    git rebase upstream/<目标标签名/目标Commit哈希>
  • 按照终端提示解决完所有冲突后,执行推送即可。如果本地分支和远程fork分支有提交差异,需要加--force参数完成强制推送。

内容的提问来源于stack exchange,提问作者David I

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:24:03