在我的测试github repo中,我的所有远程分支都显示在.git\refs\remotes\origin\
文件夹中。像这样:
但是我刚检查了另一个非玩具仓库,在该文件夹中找不到所有远程分支。像这样:
但是git remote show origin
确实显示了很多远程分支。我仍然可以创建新的本地分支来跟踪那些远程分支。
为什么?
答案 0 :(得分:2)
Git具有将单独的ref文件打包到单个文件中的功能,以提高性能并降低存储成本。打包引用时,它将不再作为refs
文件夹中的单独文件存在。
当传统的$ GIT_DIR / refs目录层次结构中缺少引用时,它将在此文件中查找并在找到时使用。
您可以使用git pack-refs
command打包参考文件。