检查git repo中是否存在分支而不进行克隆

Ily*_*nyy 5 git bash jenkins

我有一个巨大的 git 存储库,有很多分支。如果存储库中有分支,我需要通过 Jenkins 内部的 shell 命令检查。

我像这样克隆了单个分支

if `sshpass -p password git clone -b "${BRANCH}" --single-branch ssh://user@server/GIT/${REPO}.git`; then 
    echo "success"    
else
    echo "ERROR: There is no branch "${BRANCH}" inside repo "${REPO}""
    exit 42
fi
Run Code Online (Sandbox Code Playgroud)

它工作正常,但克隆一个分支仍然需要很多时间。有没有办法让它更快地工作(也许不需要克隆 repo 或者在找到分支时中断克隆)?

提前致谢

Jen*_*ann 5

您可以解析以下输出

git ls-remote http://user@server/GIT/${REPO}.git
Run Code Online (Sandbox Code Playgroud)

从它的文档来看:

显示远程存储库中可用的引用以及关联的提交 ID。