Подтвердить что ты не робот

Проверьте, существует ли git удаленный доступ до первого нажатия

Я пишу bash script, и мне нужен тест, чтобы узнать, существует ли данный удаленный доступ.

Предположим, для конкретности, что я хочу проверить, существует ли удаленный faraway. Если я что-то нажал на faraway, я могу сделать if [ -d .git/refs/remotes/faraway ]; then .... Но, насколько я вижу, псевдоним faraway можно определить, даже если .git/refs/remotes/faraway не существует.

Еще одна опция - проанализировать вывод git remote и посмотреть, появляется ли там faraway. Но мне интересно, есть ли более простой способ проверить, существует ли faraway, независимо от того, существует ли .git/refs/remotes/faraway/.

4b9b3361

Ответ 1

Одна мысль: вы можете проверить статус выхода на git ls-remote faraway. Это фактически приведет к общению с удаленным компьютером, а не к локальному присутствию или отсутствию.

git ls-remote --exit-code faraway
if test $? = 0; then
    ....
fi

Ответ 2

Другой способ проверить, существует ли faraway в .git/config:

if git config remote.faraway.url > /dev/null; then
  …
fi

Ответ 3

Если пульт дистанционного управления определен в .git/config, вы можете избежать пингования удаленного сервера с помощью git remote.

if git remote | grep faraway > /dev/null; then
  ...
fi