从上游仓库标签创建分支失败,寻求Git正确操作方案
解决基于上游标签创建分支并提交PR的问题
环境说明
- 远程仓库
upstream指向包含目标标签的上游仓库 - 远程仓库
origin指向个人Fork仓库 - 当前处于
origin下的某个分支,需基于upstream的指定标签创建新分支,修改后向上游提交PR
错误原因分析
执行git fetch upstream <TAG_NAME>后创建分支报错,原因如下:
- 前两个命令报错是因为本地未成功拉取到目标标签,Git无法找到标签对应的提交记录
- 第三个命令格式错误,
git checkout不支持同时指定远程仓库和标签来创建分支
正确操作步骤
拉取上游仓库的标签
拉取所有上游标签(推荐):git fetch upstream --tags或仅拉取指定标签:
git fetch upstream refs/tags/<TAG_NAME>:refs/tags/<TAG_NAME>基于标签创建本地分支
git checkout -b <NEW_BRANCH> tags/<TAG_NAME>将本地分支推送到个人Fork仓库
git push origin <NEW_BRANCH>
完成以上步骤后,即可在该分支上修改代码,之后通过代码托管平台向上游仓库提交Pull Request。
内容的提问来源于stack exchange,提问作者Atul Kumar Verma
相关产品推荐
相关产品推荐

