我刚刚克隆了一个已经拥有一堆远程分支的git仓库。我已经在.git文件夹中找了一下但我找不到它们,当我做git show-ref
时我得到了:
cf8e5e98c27ee83a1ff2122f2c2a214e8e06383d refs/heads/master
cf8e5e98c27ee83a1ff2122f2c2a214e8e06383d refs/remotes/origin/HEAD
76541f13b20bb25056788f092f58547d4657bed8 refs/remotes/origin/example
cf8e5e98c27ee83a1ff2122f2c2a214e8e06383d refs/remotes/origin/master
cf8e5e98c27ee83a1ff2122f2c2a214e8e06383d refs/remotes/origin/smpl-remote
e34b3b7e54174c5b862ae16d29a3079c060c160e refs/remotes/origin/test
但文件夹:.git\refs\remotes\origin
仅包含HEAD
文件
如果在日食中打开回购,我可以看到它们:
我在这里缺少什么?
我只是试图删除互联网连接(wifi和有线),但我仍然可以列出远程分支,.git文件夹中的信息是哪些?
答案 0 :(得分:4)
Andrew C answered in a comment,但我会再添加一点。
"失踪"分支是"包装"。这样可以节省空间(有时可以节省时间,但主要是洗涤时间。)
事实上,所有分支都会在不同时间打包(git pack-refs
运行时,通常代表git gc
)。这是您应该使用各种前端和后端命令(git branch
,git for-each-ref
,git update-ref
,git symbolic-ref
)工作的几个原因之一与分支,而不是直接偷看.git/refs/
。
将.git/packed-refs
添加到您的窥视中有时很方便,但请记住,此部分是实施细节,可能会发生变化。