在测试驱动git GUI应用程序(SmartGit,以防它有所不同)后,我注意到我的.git/refs/heads
目录只包含“master”(应该列出其他三个分支),并且我的.git/refs/tags
目录完全为空。这是我的本地副本,项目本身托管在GitHub上。当我在GitHub上浏览它时,(幸运的是)一切都还在那里。
恢复本地分支和标记信息的最佳方法是什么?我知道那些目录中的文件只包含它们指向的对象的SHA,但我是一个相当基层的git用户。
兰迪
答案 0 :(得分:2)
您的.git / config文件似乎已丢失,因为它存储了有关本地分支的信息以及它们正在跟踪的分支。您需要再次签出这些分支:
git checkout --track origin/branch1
git checkout --track origin/branch2
这将重新创建分支并确保它们跟踪远程分支。要更新标记,您需要执行以下操作:
git fetch --tags
答案 1 :(得分:0)
git branch -a
打印什么?裁判可能是由git打包的。
答案 2 :(得分:0)
我知道这个问题很老,但是我认为这可能是正确的答案https://stackoverflow.com/a/5504066/2272572
裁判在文件.git/packed-refs