如果 git 存储库中的 2 个分支之间存在差异,我需要检查 bash 脚本。我知道可以通过 git diff 看到差异。但是我需要在if中使用它。
我怎样才能做到这一点?
例如:
git diff ......
if [ $? -eq 1 ]
then
echo "will do something in here"
fi
Run Code Online (Sandbox Code Playgroud)
tjm*_*772 10
(编辑:将 --exit-code 替换为 --quiet 来抑制输出)
git diff --quiet如果存在差异,将导致该命令设置类似于普通 diff 命令的退出代码。
if ! git diff --quiet <commit1> <commit2> ; then
echo "Different"
else
echo "Not different"
fi
Run Code Online (Sandbox Code Playgroud)
如果您想检查特定的错误代码:
git diff --quiet <commit1> <commit2>
case $? in
0) echo "Not different" ;;
1) echo "Different" ;;
128) echo "Invalid commit id(s)" ;;
*) echo "Unknown error" ;;
esac
Run Code Online (Sandbox Code Playgroud)