从包文件中恢复git repo

Dže*_*nan 2 git

我正在接管一些项目,我没有一个合适的git repo,而是一个包-7dab97d983eeb36321c680bee7fde43688334f52.pack文件.我可以从中恢复一个有效的git存储库吗?如何?

max*_*630 7

pack文件只包含提交,所以你没有分支名称,你必须猜测它们.一个好的起点是悬挂提交.

  • 创建一个空的存储库
  • 将包复制到.git/objects/pack /
  • 可能索引包(我不确定是否需要)
  • git fsck --lost-found
  • 从找到的提示中挑选你可能的分支

请注意,如果pack文件只是原始存储库中的几个文件之一,它将失败,因为它可能取决于您没有的对象