用分支名称执行“git tag”是什么意思?

What means to execute `git tag` with the branch name?

在此 bitbucket-pipelines file 中,标记命令如下所示:

git tag -am "Tagging for release ${BITBUCKET_BUILD_NUMBER}" release-${BITBUCKET_BUILD_NUMBER}`

我了解 shell 脚本中变量的使用。对我来说新的是在标签命令中使用似乎是分支名称的内容(release-${BITBUCKET_BUILD_NUMBER})。

我习惯于创建标签而不指定任何分支:git tag -a v1.0 -m "My v1.0"

为什么要在标签命令中指定分支名称?

我假设 release-${BITBUCKET_BUILD_NUMBER} 是分支名称,因为 bitbucket 管道中的下一个命令是使用此片段作为分支名称的推送:

git push origin release-${BITBUCKET_BUILD_NUMBER}

我在我的本地仓库中执行了它,我注意到我的提示已更改为我以前从未到过的地方:

如果我执行 git status 我仍然在 task/XXXX-251 分支上,但我不明白为什么我的提示改变了。如果您知道 oh-my-zsh robbyrussell 主题并想澄清这一部分,我将不胜感激!

What means to execute git tag with the branch name?

git tag 添加一个指向提交的标记。分支指向一个提交。 git tag <tagname> <branch> 表示标记分支指向的提交。 git tag <tagname>没有分支意味着标记当前HEAD。

提供的命令使用分支名称。

git tag -am "Tag..." release-${BITBUCKET_BUILD_NUMBER}
                                                         ^^^^ - no branch
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - tag name
            ^^^^^^^^ - tag message
          ^          - next argument is a message

它与,即您可以将标志参数与位置参数混合使用:

git tag -a v1.0 -m "My v1.0"
                   ^^^^^^^^^ - tag message
                ^^           - next argument is a message|
           ^^^^              - tag name