为什么git log --decorate每次提交不显示多个标记?
编辑:Charles Bailey提出了答案(至少在我的情况下)
基本上,我有一个标签指向另一个指向提交的标签.由于这个额外的间接层,标记未显示在日志中.我将不得不解决这个问题,通过修复我们的标记脚本来正确标记,或者通过一些shell脚本voodoo来递归跟踪标记.无论如何,我会留下这个问题仅供参考,万一有人想要它.(我是堆栈溢出的新手,但我认为这是正确的协议?)
背景故事:我们在工作中使用GIT进行源代码控制,我们的策略是在部署时始终标记提交.(它实际上是一个执行标记的脚本,然后在服务器上提取标记).由于它是一个具有单独的登台和生产服务器的Web应用程序,因此我们经常标记一个版本用于登台(用于测试或其他),然后标记相同的提交以进行生产.
所以我们经常在同一次提交中拥有多个标签.能够在文本日志中看到这一点会非常好,但它似乎不支持它.我目前正在解决这个问题,通过手动检查我正在寻找的标签,或通过启动gitk.虽然这两种解决方案都有效,但在我看来git log --decorate,默认情况下每次提交仅支持一个标记真的很奇怪.
我做了一些谷歌搜索,但没有找到太多.我错过了一些明显的东西吗
PS(我实际上使用自定义格式字符串%d,根据手册页和一些快速测试,它相当于--decorate)
所以这是我的问题.我已经和Vim一起工作了很多,而且大部分时间都很棒.但是,每当我尝试搜索名称与某个变量名称相同的函数时,仍然让我烦恼的一件事.我有时会在第一次尝试时获得正确的标签,有时不会.然后,在我提取备用标记列表后:tselect,它会为函数定义或变量定义/赋值提供标记列表.(我使用PHP,因此定义和赋值在语法上无法区分).
但是,我注意到有一个标记为"kind"的列,其值分别为'f'或'v',分别用于函数和变量.我似乎无法找到关于这个领域的大量信息,似乎它可能没有完全标准化或广泛使用.我的问题是:你能用"善意"过滤Vim中的标签结果吗?
理想情况下,默认设置是搜索整个标记文件,但通过指定一些额外标记,您只能搜索特定的('f'或'v')类型.
对我来说这是一个小问题,因为它经常没有出现,但有时这是一个真正让你烦恼的小问题.