Git 为什么是;吉特分行“;在新存储库中保持沉默?
当您创建一个新的存储库并运行Git 为什么是;吉特分行“;在新存储库中保持沉默?,git,git-branch,Git,Git Branch,当您创建一个新的存储库并运行git branch时,它会自动退出。例如: $ mkdir /tmp/foo; cd /tmp/foo; git init Initialized empty Git repository in /tmp/foo/.git/ $ git branch 为什么命令不提供任何输出或显示主分支?TL;博士 目前还没有分支机构负责人 详细说明 Git存储库在您第一次提交之前没有分支。新初始化的存储库将HEAD设置为refs/heads/master,但refs/head
git branch
时,它会自动退出。例如:
$ mkdir /tmp/foo; cd /tmp/foo; git init
Initialized empty Git repository in /tmp/foo/.git/
$ git branch
为什么命令不提供任何输出或显示主分支?TL;博士
目前还没有分支机构负责人
详细说明
Git存储库在您第一次提交之前没有分支。新初始化的存储库将HEAD设置为refs/heads/master,但refs/heads/master在第一次提交之前不存在或不包含提交指针
在提交期间,Git取消引用符号ref HEAD以查找当前分支的头,然后使用Git提交树提供的提交哈希更新该头
最终结果是,git分支
在新的存储库中没有任何报告。在没有分支头的情况下,它只是以零退出状态静默终止
另见
- 吉特分行(1)
- git提交树(1)
- git符号参考(1)
- git更新参考(1)
- gitcore教程(7)
是的,您首先需要执行
$ git add .
$ git commit -m 'first commit'
命令。请注意,分支只是指向提交的指针。
因为一个空的回购协议(带its)没有提交,所以您没有分支 第一次提交将创建一个名为“
master
”的分支,因为HEAD
引用了refs/heads/master
”如果要在不同的分支(而不是主分支)上创建第一次提交,则需要更改HEAD first的符号ref(如中所述):
然后做出第一次承诺。很好地解释了后面发生的事情。这将帮助用户了解git是如何工作的。
git symbolic-ref HEAD refs/heads/non-master