【发布时间】:2010-11-18 04:07:49
【问题描述】:
为什么git log --decorate 每次提交不显示多个标签?
编辑:查尔斯·贝利(Charles Bailey)提出了答案(至少在我的情况下)
本质上,我有一个标签指向另一个指向提交的标签。由于这个额外的间接层,标签没有出现在日志中。我必须解决这个问题,通过修复我们的标记脚本来正确标记,或者通过一些 shell 脚本 voodoo 来递归地跟踪标记。无论如何,我会留下这个问题以供参考,以防有人想要它。 (我是堆栈溢出的新手,但我认为这是正确的协议?)
...原始问题如下...
背景故事:我们在工作中使用 GIT 进行源代码控制,并且我们制定了在部署时始终标记提交的策略。 (它实际上是一个做标签的脚本,然后将标签拉到服务器上)。由于它是一个具有单独的暂存服务器和生产服务器的 Web 应用程序,因此我们经常标记一个发布版本以进行暂存(用于测试或其他),然后再将相同的提交标记为生产。
所以实际上我们经常在同一个提交上有多个标签。能够在文本日志中看到这将是非常好的,但它似乎不支持它。我目前正在通过手动检查我正在寻找的标签或启动gitk 来解决这个问题。虽然这两种解决方案都有效,但在我看来 git log --decorate 默认每次提交只支持一个标签真的很奇怪。
我做了一些谷歌搜索,但没有找到太多。我错过了什么明显的东西吗?
附注(我实际上使用%d 的自定义格式字符串,根据手册页和一些快速测试,它相当于--decorate)
【问题讨论】:
-
你试过'git log --decorate=full'(减去引号)吗?
-
你用的是什么版本的git?我看到多个标签都很好。
-
@RDL: full 让它根据需要打印 refs/heads/ 或 refs/tags/ ,对吧?没有更多或更少的参考。
-
快速提问,你是标记标签,还是标记提交? (标签可以形成链,在我的测试中,decorate 查看了指向提交的标签和指向提交标签的标签,但仅此而已。)
-
@Charles Bailey 我想你可能已经找到了问题所在。我在工作中尝试了一个简单的测试(git 版本 1.6.3.3),它似乎工作正常。所以不是版本问题。稍后我会进行更多调查。感谢您的洞察力!
标签: git