如何从已Fork的仓库获取源仓库的指定分支
无需重新Fork,从源仓库同步指定分支到自己Fork的方法
你的操作失败原因
核心问题是fetch命令用法错误,且未正确拉取源仓库的分支数据:
git fetch -t source/branch是错误写法,fetch的第一个参数应为远程仓库名(比如你添加的source),而非分支路径;-t参数用于跟踪分支,但前提是本地已获取到该远程分支的引用。- 你仅确认了远程仓库存在,却未拉取源仓库的分支数据,本地根本没有
source/branch这个引用,自然无法基于它创建分支,才会触发报错。
正确操作步骤
确认源远程仓库已添加
若还未添加源仓库,执行:git remote add upstream <教程提供的源仓库URL>(习惯上将源仓库命名为
upstream,如果之前你用的是source,后续命令对应替换即可)拉取源仓库的所有分支数据
执行此命令,同步源仓库的所有分支信息到本地:git fetch upstream完成后,用
git branch -r就能看到所有远程分支(包括你需要的目标分支)。基于源仓库目标分支创建本地分支
假设源仓库的目标分支名为target-branch,执行:git checkout -b target-branch upstream/target-branch(新版Git推荐用
git switch -c target-branch upstream/target-branch,效果一致)将本地分支推送到自己的Fork仓库
最后把分支同步到你的Fork:git push origin target-branch
完成以上步骤后,你的Fork仓库就会拥有目标分支,本地也能正常切换开发,完全无需重新Fork,不会打乱现有学习进度。
内容的提问来源于stack exchange,提问作者Benjamin Basmaci
相关产品推荐
相关产品推荐

