如何彻底让 git ls-remote 静音?

如何彻底让 git ls-remote 静音?

我正在编写一个迁移 bash 脚本,用于将使用 gitLFS 的存储库从 Github 迁移到 Gitlab。

其中一步是检查源和目标存储库是否存在。

经过我的搜索,我发现它git ls-remote是完美的。

对于我的脚本,我想使命令的输出静音(脚本本身稍后会检查它),所以我使用$> /dev/null类似

git ls-remote -q <URL to repository> $> /dev/null

git ls 远程命令

-q, --quiet:不要将远程 URL 打印到 stderr。

成功时我不会得到任何输出并git ls-remote退出0

失败时(可能是由于提供了不正确的凭据或找不到存储库导致的)它会退出,128但我总是看到这个输出

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

答案1

如果要将所有输出和 stderr 重定向到 /dev/null,则必须替换

git ls-remote -q <URL to repository> $> /dev/null

经过

git ls-remote -q <URL to repository> &> /dev/null

&代替$

相关内容