gpt4 book ai didi

bash - 认识到我不在带有 bash 的 git 标签上

转载 作者:行者123 更新时间:2023-12-04 16:17:06 26 4
gpt4 key购买 nike

我想要一个 bash 脚本来识别调用者是否不在 git 标签上(但在未标记的分支上)。我尝试了以下方法:

OUTPUT=$(git describe --exact-match --tags $(git log -n1 --pretty='%h')|grep "fatal:")
if [[ $OUTPUT != "0" ]]; then
echo "no tag present"
fi

但我得到 no tag present 即使显然有一个标签并且 git describe --exact-match --tags $(git log -n1 --pretty ='%h') 不包含 fatal:。为什么这不能按预期工作?

最佳答案

如果更容易依赖该命令的退出状态:

if ! git describe --exact-match --tags $(git log -n1 --pretty='%h') 1>/dev/null 2>&1; then
echo "no tag present"
fi

如果没有标签,退出状态为128。
如果存在则存在状态为0。

jthill建议 in the comments :

if msg=`git describe --exact-match --tags @ 2>&1`; then 
echo tagged $msg;
else
echo not tagged;
fi

关于bash - 认识到我不在带有 bash 的 git 标签上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62706703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com