我正在尝试找到我的git repo的顶级,但是如果我目前没有位于git repo中,它会无声地失败。此代码将从另一个脚本中调用,我可以在其中使用git顶级或命令行选项。例如,
gpath = `git rev-parse --show-toplevel --quiet`
if (gpath == null) && (options.path == null)
puts help
end
如果我尝试使用git代码@ shell提示符,我会“致命:不是git存储库”。我尝试添加--verify开关,它产生相同的结果。有谁知道如何做到这一点?
答案 0 :(得分:2)
if GPATH=`git rev-parse --show-toplevel --quiet 2>/dev/null`; then
echo "repo: $GPATH"
else
echo "not a repo"
fi
2>/dev/null
会将致命错误消息从标准错误(stderr)重定向到/ dev / null(无处)。在这种情况下,git rev-parse
将以失败状态退出,您可以使用上面的if
语句进行检查。