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