Используйте git repo url, чтобы проверить, существует ли репозиторий

Я искал в Google, они говорят, "git ls-remote git-url" может сказать, существует git-репо или нет.

Но у меня проблема при использовании этой команды для проверки github несуществующего https git url.

например, когда я запускаю команду ниже, она потребует ввода имени пользователя и пароля.

$ git ls-remote https://github.com/grant/noexisted.git

Я только хочу проверить, существует ли репозиторий, и я вызываю команду "git ls-remote" в коде ruby, так как пропустить эту подсказку auto shell?

1 ответ

Почему бы просто не сделать запрос 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 (успех).

Другие вопросы по тегам