【问题标题】:What means to execute `git tag` with the branch name?用分支名称执行 `git tag` 是什么意思?
【发布时间】:2021-12-26 19:41:29
【问题描述】:

在这个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"

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

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

git push origin release-${BITBUCKET_BUILD_NUMBER}

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

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

【问题讨论】:

  • 您可能忽略了管道中的命令以:git tag -am ... 开头,它与git tag -a -m ... 相同。最重要的是,git tag 允许其参数的顺序,因此以您为例:git tag -a v1.0 -m "My v1.0"git tag -am "My v1.0" v1.0 相同。

标签: git bitbucket-pipelines


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2010-10-25
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    相关资源
    最近更新 更多