git branch -a命令未显示所有远程分支

3

我远程的git服务器有两个分支,develop和release。

我已经克隆了该代码库,但是当我执行命令git branch -a时,看到以下内容:

* develop
  remotes/ghe/HEAD -> ghe/develop
  remotes/ghe/develop

我尝试执行git fetch,但它没有更新列表。

尝试使用 git ls-remote 命令查看是否包含 release 分支。 - poke
我找到了问题所在。该存储库是使用“--depth 1”克隆的。如果我删除此标志,它就可以正常工作。预期行为? - Nathan H
@NathanH 请看一下我的回答。是的,这是预期的行为。 - Thomas Stringer
1个回答

5
通过在 git clone 命令中加上 --depth 选项,你创建了一个 浅克隆(shallow clone)。如果不指定 --no-single-branch 选项,则会得到默认行为,即只获取最近的单个分支而不是所有分支的 tips。如果没有指定该选项,则只会获取远程 HEAD 所指向的主分支。
如果你想要一个包含所有分支 tips 的浅克隆,解决方案就是指定 --no-single-branch 选项。
更多信息,请参阅关于 git clone文档

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接