我在谷歌搜索过,他们说“git ls-remote git-url”可以说明 git repo 是否存在。
但是我在使用这个命令检查 github 不存在的 https git url 时遇到了问题。
例如,当我运行以下命令时,它需要输入用户名和密码。
$ git ls-remote https://github.com/grant/noexisted.git
我只想检查repo是否存在,我在ruby代码中调用“git ls-remote”命令,那么如何跳过这个自动shell提示?
为什么不直接发出 HTTP 请求,然后寻找 404?
例如,您可以使用wget命令行实用程序:
$ wget https://github.com/grant/noexisted.git --no-check-certificate -o /dev/null
$ echo ?
这打印 8,而
$ wget https://github.com/mikeobrien/HidLibrary --no-check-certificate -o /dev/null
$ echo $?
这将打印 0(成功)。
我不熟悉 Ruby,但我确信发出 HTTP 请求并检查 404(未找到)或 200(成功)将是微不足道的。