克隆一个git存储库并保持无法访问的提交

时间:2014-08-20 23:18:00

标签: git

有没有办法克隆远程git仓库,同时保留可能在该仓库中的任何无法访问的提交?

场景是这样的:我需要恢复从我维护的服务器上的裸git仓库中删除的分支。我有最后一次提交到这个分支的哈希,但是常规的git命令似乎无法在裸存储库上运行,所以据我所知,我无法直接在服务器上恢复它。

我也无法访问包含此提交的任何非裸存储库。如果我这样做,我可以通过检查提交哈希然后从中创建分支来轻松恢复它。这就是为什么我希望能够在保留任何无法访问的提交的同时克隆这个repo,所以我可以做到这一点。

1 个答案:

答案 0 :(得分:3)

您想要做的是:

  1. 使用普通文件复制命令将裸仓库复制到另一个文件夹。
  2. Convert the bare repo copy to a normal repo
  3. 执行您需要做的事情,找到您寻找的提交对象。
  4. 找到丢失提交后创建一个新分支。
  5. 将原始裸仓库添加为远程。
  6. 将新分支推送到裸存储库。