为什么"git branch"在新的存储库中保持沉默?

Tod*_*obs 2 git git-branch

当您创建新存储库并运行时git branch,它将以静默方式退出.例如:

$ mkdir /tmp/foo; cd /tmp/foo; git init
Initialized empty Git repository in /tmp/foo/.git/

$ git branch
Run Code Online (Sandbox Code Playgroud)

为什么命令不提供任何输出,或显示主分支?

Tod*_*obs 8

TL; DR

还没有分支机构负责人.

详细说明

在您第一次提交之前,Git存储库没有分支.新初始化的存储库将HEAD设置为refs/heads/master,但refs/heads/master将不存在或包含提交指针,直到第一次提交为止.

在提交期间,Git取消引用symbolic-ref HEAD以找到当前分支的头部,然后使用git-commit-tree提供的提交哈希更新该头部.

最终结果是git branch在新存储库中无需报告.如果没有分支头,它只是以退出状态为零静默终止.

也可以看看

  • GIT-分支(1)
  • GIT中提交树(1)
  • GIT-符号-REF(1).
  • GIT-更新-REF(1)
  • gitcore教程(7)