【问题标题】:Branch and tag information disappeared from the refs area in git分支和标签信息从 git 的 refs 区域消失了
【发布时间】:2011-06-26 20:07:54
【问题描述】:

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

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

兰迪

【问题讨论】:

    标签: git github


    【解决方案1】:

    您的 .git/config 文件似乎丢失了,因为它存储了有关本地分支以及它们正在跟踪的分支的信息。您需要像这样再次检查这些分支:

    git checkout --track origin/branch1
    git checkout --track origin/branch2
    

    这将重新创建分支并确保它们跟踪远程分支。要更新您的标签,您需要执行以下操作:

    git fetch --tags
    

    【讨论】:

      【解决方案2】:

      git branch -a 打印什么? refs 可能已经被 git 打包了。

      【讨论】:

      • git branch -a 显示已知存在于remotes/origin/... 上的“缺失”分支(适用于每个分支名称)。
      【解决方案3】:

      我知道这个问题很老了,但我认为这可能是正确的答案https://stackoverflow.com/a/5504066/2272572

      参考在文件.git/packed-refs

      【讨论】:

        猜你喜欢
        • 2016-10-26
        • 2012-02-17
        • 2015-05-02
        • 2012-04-26
        • 2019-11-26
        • 1970-01-01
        • 2012-03-03
        • 2011-05-10
        相关资源
        最近更新 更多