Git 如何检查回购是否存在?

Git 如何检查回购是否存在?,git,bash,Git,Bash,或者是否有一个命令行选项可用于 git remote rm godaddy 如果存储库不存在,它不会抛出错误 这个命令行选项是什么?我认为您可以使用gitlsremote来测试repo是否存在 尝试在没有存储库的文件夹中运行此操作: git ls-remote https://github.com/git/git 命令不会“抛出错误”。它们将消息打印到stderr,并使用非零退出代码 要使错误消息静音,可以将stderr重定向到/dev/null git remote rm nonexist

或者是否有一个命令行选项可用于

git remote rm godaddy
如果存储库不存在,它不会抛出错误


这个命令行选项是什么?

我认为您可以使用
gitlsremote
来测试repo是否存在

尝试在没有存储库的文件夹中运行此操作:

git ls-remote https://github.com/git/git
命令不会“抛出错误”。它们将消息打印到stderr,并使用非零退出代码

要使错误消息静音,可以将
stderr
重定向到
/dev/null

git remote rm nonexistent 2>/dev/null
要忽略非零退出代码,您可以如下使用
| |::

git remote rm nonexistent 2>/dev/null || :
最后一个命令的退出代码将始终为0。 如果远程存在,它将被删除,如果它不存在,错误消息将被丢弃

不过有一个警告。如果远程存在,但由于某种原因删除失败,则会隐藏错误消息和退出代码。这可以通过仅在退出代码为128时隐藏错误消息来改进,这是在存储库不存在时发生的。但我怀疑这是否值得:

out=$(git remote rm $repo 2>&1)
[ $? = 128 ] || echo "$out"