是否有一个bash表达式,我可以用来检查当前提交是否被标记?



我正在寻找一个bash表达式来检查当前git提交是否被标记。

只要你的Git不是太过时:

git tag --points-at HEAD

将打印出标签的名称,如果签出,将导致当前提交的detched - head签出。如果该列表为空,则没有这样的标签;如果没有,则至少有一个标签。因此:计算标签的数量,看看它是否为非零,或者检查命令的输出是否为非空。(该命令的退出状态为零,无论它产生多少个标记。)

if [ $(git tag --points-at HEAD | wc -l) -ne 0 ]; then echo yes; fi

或:

if [ -n "$(git tag --points-at HEAD)" ]; then echo yes; fi

例如就可以。

你需要在你的系统上安装git,你可以尝试git tag——points-at HEAD。这将列出与最近提交相关的标记。如果你的系统中没有git,你就不能获得git标签。

相关内容

最新更新