git - 注释标签和未注释标签有什么区别?

标签 git tags git-tag

如果我想标记当前提交。我知道以下两个命令行都有效:

git tag <tagname>

git tag -a <tagname> -m '<message>'

这些命令有什么区别?

最佳答案

长话短说

命令之间的区别在于,一个命令为您提供标记消息,而另一个则不提供。带注释的标签有一条可以用 git-show(1) 显示的消息,而没有注释的标签只是一个指向提交的命名指针。

更多关于轻量级标签

根据documentation :“要创建轻量级标签,请不要提供任何 -a、-s 或 -m 选项,只需提供标签名称”。还有一些不同的选项可以在带注释的标签上写消息:

  • 当您使用 git tag <tagname> 时, Git 将在当前修订版创建一个标签,但不会提示您输入注释。它将在没有消息的情况下被标记(这是一个轻量级标记)。
  • 当您使用 git tag -a <tagname> 时, Git 将提示您输入注释,除非您还使用了 -m 标志来提供消息。
  • 当您使用 git tag -a -m <msg> <tagname> 时, Git 将标记提交并使用提供的消息对其进行注释。
  • 当您使用 git tag -m <msg> <tagname> 时,Git 的行为就好像您传递了 -a 标记进行注释并使用提供的消息一样。

基本上,它只是相当于您是否希望标签具有注释以及与之关联的一些其他信息。

关于git - 注释标签和未注释标签有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11514075/

相关文章:

git - 我可以让 SSH ForwardAgent 和 ProxyJump 与 Git 一起工作吗?

git - 为什么 git 会忽略不在 .gitignore 文件中的文件?

java - 如何使用 Struts 2 标签迭代 Set 元素

Git:标记分支并从标记创建新分支

git - 更改提交的标签名称时 "commits will be rebased"是什么意思?

Git 仓库坏了? - 尽管 gitignore 仍然跟踪文件

windows - 在 Git for windows 2.4 下更正 TortoiseGit 的 git.exe 路径

json - 用于添加多个标签名称和标签值的 Azure Policy

javascript - 如何切换自定义 HTML 元素的 View /显示?

git - 需要带注释的标签并拒绝 git push 上的轻量级标签