或是否有与
一起使用的命令行选项git remote rm godaddy
如果存储库不存在,它不会抛出错误?
这个命令行选项是什么?
答案 0 :(得分:1)
我认为您可以使用git ls-remote
来测试是否存在回购。
尝试在没有存储库的文件夹中运行它:
git ls-remote https://github.com/git/git
答案 1 :(得分:1)
命令不会“抛出错误”。他们将消息打印到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"