Gitlab Lost refs 文件夹 - 提交不可见

Posted

技术标签:

【中文标题】Gitlab Lost refs 文件夹 - 提交不可见【英文标题】:Gitlab Lost refs folder - commits not visible 【发布时间】:2021-12-31 03:59:01 【问题描述】:

服务器崩溃后,服务器上的 appX.git 文件夹几乎全部存在,目标文件完好无损,但我丢失了 appX.git/refs 文件夹和打包的参考文件。如何在没有客户端文件的情况下重新创建这些引用? 在 Web 界面上,它显示问题、项目成员,但存储库中没有文件

【问题讨论】:

【参考方案1】:

假设没有完成 GitLab 备份来恢复(例如,通过 gitaly-backup),一种可能的解决方法是:

使用不同的名称创建一个新的 将本地克隆推回新克隆 将新的refs文件夹复制到服务器上旧的不完整的文件夹中

但是,如果“没有客户端文件”意味着任何地方都没有本地克隆……那么就没有明显的解决方案。

【讨论】:

我有本地克隆,他们在团队中,试图在星期一之前修复它。在一个存储库上,我很幸运,在尝试了不同的对象哈希(目录名+该目录上的对象名)之后,我找到了最后一次提交,更新了 HEAD 文件并全部显示出来。最后一次提交 sha1 哈希是否在 pgsql 数据库中的任何地方? @user17467472 pgsql ? Git 存储库没有我知道的 pgsql 数据库。

以上是关于Gitlab Lost refs 文件夹 - 提交不可见的主要内容,如果未能解决你的问题,请参考以下文章

gerrit配置跳过审核直接push到gitlab

合并后将gitlab-ci.yml中的include-ref更改为master?

gitlab本地创建空文件,之后关联仓库提交文件...

gitlab拉取项目后提交会保存自己的信息吗

在gitlab中获取分支的创建者(分支列表)

提交本地文件至gitlab已有的项目中(更新gitlab)