Git:在refs / heads中没有相应文件的分支

时间:2013-11-27 02:36:34

标签: git

我有一个包含大量分支的git存储库:git branch列出了20多个分支。但ls .git/refs/heads仅列出其中的4个。怎么会这样?

为了稍微调查一下这个问题,我在一个空目录中创建了一个测试存储库,添加了一个文件,提交了更改并创建了一个新的分支side。现在git branch给了我

* master
  side

ls .git/refs/heads给出了

master  side

但是,在git gc之后,.git/refs/heads中的文件会消失,但git branch仍会显示两个分支。 git从哪里获取此信息?

1 个答案:

答案 0 :(得分:3)

由于性能原因,您的裁判已经打包,现在可以在.git / packed-refs cat .git/packed-refs中找到。这个手册页很好地解释了它https://www.kernel.org/pub/software/scm/git/docs/git-pack-refs.html