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

标签 git

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

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

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

最佳答案

你要做的是:

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

关于git - 克隆一个 git 存储库并保留无法访问的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25416003/

相关文章:

git - 在 GitLab 的 CI/CD 系统中,如果作业在我的 fork 中,我如何阻止它运行,并且只允许它在 merge 到主仓库时运行?

git - intellij 可以向我显示最近 x 次提交的更改,就好像它们是刚刚提交的一样吗?

Git:为什么删除后还能切换到分支?

git - 将一个分支从一个仓库复制到另一个仓库

git - 使用 Git Bash 连接到私有(private)主机 SSH 来部署、管理和开发网站

git - 如何在 git merge 上创建一条大消息?

git - 是否有针对全功能跨平台 shebang 系列的 hack?

git - 如何修改旧的 Git 提交?

git - 清除远程源中推送的 secret 数据的历史记录?

linux - 如何在 Linux 的 VS CODE 中打开我的 GIT REPO