我有一个 Git 存储库。我怎样才能显示它的所有分支?
以下两个命令是否应该显示所有分支?如果是,为什么他们不显示分支 master
?当询问 https://stackoverflow.com/questions/54160690/will-pushing-a-new-branch-to-another-repository-create-an-upstream-branch-and-re 时,我的印象是存储库没有分支 master
.
$ git branch -a
mongodbutils
$ git show-branch
[mongodbutils] mongodbutils
$ ls .git/refs/heads/
mongodbutils
为什么下面的命令会提到分支master
?
$ git show
fatal: your current branch 'master' does not have any commits yet
如何显示存储库中的所有分支(在本例中包括 master
)?我认为这很重要,否则,我也会有同样的错误印象。
注意:仓库是由git init
创建的一个空目录,然后我从另一个分支git push
一个分支mongodbutils
到这个分支机构。
最佳答案
作为documentation of git branch
解释说,git branch --all
(或-a
)列出本地存储库中的所有分支,包括本地和远程跟踪分支。
Git 分支只是指向提交的指针。一个新的存储库(刚刚使用 git init
创建)不包含任何提交。新仓库的当前分支是 master
但 master
分支实际上并不存在。事实上,新的存储库不包含任何分支。
master
分支是在创建第一个提交时创建的。或者当它从远程存储库中 pull 出时。
因为您没有创建任何提交,也没有 pull master
分支,所以它不存在于您的 repo 中。您列出的两个命令都会向您显示这件事。
git branch -a
是您要用来列出分支的那个。
git show-branch
旨在供脚本和 GUI 工具使用。
关于git - 如何显示存储库中的所有分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54161556/