gpt4 book ai didi

git - 如何确定 Git merge 是否在进行中

转载 作者:IT王子 更新时间:2023-10-29 01:29:47 27 4
gpt4 key购买 nike

是否有可用于确定 merge 是否正在进行(即未提交)的 Git 命令?我知道我可以简单地检查 .git/MERGE_HEAD,但这对命令行脚本来说是否合适和/或面向 future

最佳答案

一个技巧是使用 Git 命令,如果正在进行 merge ,该命令将失败。然后您可以检查命令的返回码。您还需要确保该命令在成功时不会影响您的工作副本或索引。虽然有很多命令属于这一类,但似乎合适的一个是

git merge HEAD

如果正在进行 merge ,则返回 128 代码,否则返回 0。请注意,当 merge 未在进行中时,此命令将简单地打印 Already up-to-date 因为您只是在与自己 merge 。因此,出于脚本目的,您可以这样做(在 BASH 中)

git merge HEAD &> /dev/null
result=$?
if [ $result -ne 0 ]
then
echo "Merge in progress."
else
echo "Merge not in progress."
fi

请注意,即使使用 git merge--quiet 标志,进程内 merge 仍会导致此命令打印到错误流。这就是我将其输出重定向到 /dev/null 的原因。

关于git - 如何确定 Git merge 是否在进行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30733415/

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