为一个派生的上游标签创建本地分支的Git命令

12

我一直在尝试找到一种方法,在我fork的上游仓库中创建一个从标签开始的本地分支,但是我没有找到任何有用的信息。

我已经在本地的master分支上有了上游的主分支,但我不知道如何分支上游的标签。

我已经尝试过:

git branch upstream/master tagname
git branch master tagname
git branch upstream tagname

这些都没有起作用。谢谢。

1个回答

15

如果标签被获取(你的 master 反映了 upstream/master

git checkout -b aNewBranch aTagName

你需要确保先获取标签

这意味着需要执行git fetch upstream 然后再执行git fetch upstream --tags

如果你想要仅获取一个特定的标签(而不是从upstream获取所有的标签),则需要:

git fetch upstream refs/tags/aTagName:refs/tags/aTagName

注意:从 Git 2.23(2019年第三季度)开始,应该使用新命令git switch

git switch -c aNewBranch aTagName

我遇到了致命错误:无法同时更新路径并切换到分支“upstream”。 你是想检出无法解析为提交的“release.5.1.0”吗? - Woody
@Woody,你的git版本是多少?你当前所在的分支是什么(git status)? - VonC
@Woody 无法解决为提交,你似乎没有获取标签,然后(也可以参考 https://dev59.com/_mAg5IYBdhLWcg3w9e0y#22987503) - VonC
git fetch upstream --tags 可以解决问题,但它会获取所有标签,有点过度了。 - Woody
@Woody 我同意。不过,我的答案提到了你必须先获取标签这一事实。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接