git中的refs区域中的分支和标记信息消失

git中的refs区域中的分支和标记信息消失,git,github,Git,Github,在测试了一个git GUI应用程序(SmartGit,以防它起作用)之后,我注意到我的.git/refs/heads目录只包含“master”(应该列出三个其他分支),而我的.git/refs/tags目录完全为空。这是我的本地副本,项目本身托管在GitHub上。当我在GitHub上浏览时,(谢天谢地)一切都还在 恢复本地分支和标记信息的最佳方法是什么?我知道这些目录中的文件只包含它们指向的对象的SHA,但我是一个相当基本的git用户 Randygit branch-a打印什么?引用可能已由gi

在测试了一个git GUI应用程序(SmartGit,以防它起作用)之后,我注意到我的
.git/refs/heads
目录只包含“master”(应该列出三个其他分支),而我的
.git/refs/tags
目录完全为空。这是我的本地副本,项目本身托管在GitHub上。当我在GitHub上浏览时,(谢天谢地)一切都还在

恢复本地分支和标记信息的最佳方法是什么?我知道这些目录中的文件只包含它们指向的对象的SHA,但我是一个相当基本的git用户


Randy

git branch-a打印什么?引用可能已由git打包。

您的.git/config文件似乎已丢失,因为它存储了有关本地分支及其跟踪的分支的信息。您需要再次签出这些分支,如下所示:

git checkout --track origin/branch1
git checkout --track origin/branch2
这将重新创建分支,并确保它们跟踪远程分支。要更新标记,您需要执行以下操作:

git fetch --tags

我知道这个问题很古老,但我认为这可能是正确的答案


参考文件位于文件
.git/packeted refs

git branch-a
显示了已知存在于
远程/origin/..
上的“缺失”分支(根据每个分支名称而定)。