Я пишу на сценарии удара миграции для миграции репозиториев с помощью gitLFS от GitHub до Gitlab.
Один шаг его проверяет, существуют ли источник и целевые репозитории.
На моем поиске я нашел это git ls-remote
идеально подходит для этого.
Для моего сценария я хотел бы заставить вывод замолчать команды (Сам сценарий проверит его позже), таким образом, я буду использовать $> /dev/null
как
git ls-remote -q <URL to repository> $> /dev/null
От мерзавца человека ls-remote
-q
,--quiet
: Не печатайте удаленный URL к stderr.
На успехе я не получаю вывода и git ls-remote
выходы с 0
.
При отказе (может быть вызван путем обеспечения неправильных учетных данных или репозитория, не был найден), это выходит на 128
но я всегда вижу этот ouput
remote: Invalid username or password.
fatal: Authentication failed for '<URL to repository>'
или
remote: Repository not found.
fatal: repository '<URL to repository>' not found
Как я могу полностью заставить замолчать git ls-remote
?
Если Вы хотите перенаправить весь вывод и stderr к/dev/null, необходимо заменить
git ls-remote -q <URL to repository> $> /dev/null
git ls-remote -q <URL to repository> &> /dev/null
(и вместо $)