检查shell脚本中是否存在一个git仓库

8

有没有一种方法可以使用bash或csh脚本检查git仓库是否存在? 我知道我们可以使用git ls-remote <repository>来检查远程仓库的存在。 但我想以某种方式在shell脚本中以编程方式执行此操作。

1个回答

7
您可以在脚本本身中编写命令:
~$ git ls-remote <existing_repo> -q
~$ echo $?
0

如果返回值为0,表示找到了代码库;否则你将得到一个非零值。

-q 的作用是:

quiet(不要将远程URL打印到stderr)。


有没有一种方法可以在存储库不存在时抑制输出? - BigBrownBear00
2>&1 是必需的吗?还是我可以只使用 >&? - BigBrownBear00
1
@BigBrownBear00 如果我没记错的话,它们两个是一样的。但我不确定你的命令是否适用于所有的shell。我通常使用:>/dev/null 2>&1 来抑制所有输出。 - Maroun
2
">&" 是在bash和其他一些shell中找到的扩展。2>&1 在任何符合POSIX标准的shell中都可以使用。 - chepner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接