从本地 .git 文件夹恢复 Git 历史记录/回购

Restore Git History / Repo From Local .git Folder

我想知道是否可以从本地 .git 文件夹恢复远程 git 存储库。如果是这样,怎么做。

关于发生的事情和我正在尝试做的事情的一些背景故事。最近我的一台服务器出现了硬件故障,遗憾的是它托管了我的 git 服务器(通过 gitlab)。经过 24 小时的技术支持票和垃圾,主机丢失了我的硬盘并说基本上 'oh well'。

所以我现在正在重建我的服务器,我想看看我是否可以从我的本地 .git 文件夹恢复 git 存储库。我不想从回购中丢失提交历史等。我的本地 .git 文件夹具有所有历史记录等仍然完好无损,并且可以在没有任何远程仓库信息的情况下访问。

那么有没有办法使用我的本地 .git 文件夹副本来恢复服务器上的存储库,以便我可以保留提交历史记录和其他信息?我宁愿不完全重新开始,而是按原样检查当前代码。提交日志保留了贡献者信息,我不想欺骗任何人。

这是可能的:您可以通过导入现有存储库来启动新的 GitLab 服务器。

参见“Import bare repositories into your GitLab instance

您可以export your local git repo with git bundle(将回购压缩到一个文件中:更容易复制)。

只需使用 git push 将您的本地存储库推送到您的服务器即可。