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

如何将上游所有新分支与我的fork仓库同步?

如何同步Fork仓库的上游新分支

我经常碰到开发者问这个问题——GitHub官方文档确实只重点讲了主分支的同步流程,但上游仓库新增分支的同步其实也有高效的办法,不用一个个手动折腾。下面我给你拆解两种实用的方案:

第一步:先确认上游远程仓库已配置

首先得确保你本地仓库已经关联了上游的原仓库,如果还没加,先执行这两步:

# 添加上游远程仓库,替换成原仓库的Git地址
git remote add upstream git@github.com:原作者/原仓库.git
# 验证是否添加成功,会显示upstream对应的地址
git remote -v

方案一:同步单个指定新分支

如果你只需要同步上游某一个新增分支,步骤很清晰:

  1. 拉取上游所有分支的最新信息(包括新分支):
    git fetch upstream
    
    这一步会把上游所有分支的提交都拉到本地的远程跟踪分支里,比如上游的feature/payment分支会变成本地的upstream/feature/payment。
  2. 在本地创建并切换到对应分支,同时关联上游分支:
    git checkout -b feature/payment upstream/feature/payment
    
  3. 把这个分支推送到你的Fork仓库:
    git push origin feature/payment
    

方案二:批量同步所有上游新分支

如果你想一次性把上游所有新增的分支都同步到自己的Fork,不用逐个手动操作,可以用这个命令组合:

# 遍历上游所有分支,自动同步到你的Fork
for branch in $(git branch -r | grep upstream/ | grep -v HEAD | sed 's/upstream\///'); do
    # 先尝试切换到本地分支,不存在就基于上游分支创建
    git checkout $branch 2>/dev/null || git checkout -b $branch upstream/$branch
    # 推送到自己的Fork仓库
    git push origin $branch
done

简单解释下这个脚本:它会先列出上游所有分支,过滤掉无用的HEAD引用,然后逐个处理——如果本地已经有对应分支就直接切换,没有的话就创建并关联上游分支,最后推送到你的Fork。

小提醒

执行这些操作前,最好先确保你的本地工作区是干净的(没有未提交的修改),避免切换分支或拉取时出现冲突。如果上游有分支重命名或删除的情况,这个脚本不会处理,你需要单独针对这些场景调整命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:57:49