GitLab 服务器:从树到 blob 损坏 link

GitLab server: broken link from tree to blob

从我的 GitLab 服务器 repocheck.md 收到一份报告,说我的一个存储库有问题。这是问题所在:

    E, [2020-04-04T10:25:00.323291 #27099] ERROR -- : Could not fsck repository: broken link from tree 8c7ba0f6c712df32e991ae9262f1c7514fd22473
    to blob 806164c98a18ddc2295c246e5509674471d6f54a
    missing blob 806164c98a18ddc2295c246e5509674471d6f54a

如何解决服务器上的这个问题?

我在客户端上有一份该回购协议的完整副本:

Pete@sev MINGW64 ~/Documents/path/to/client/repo (master)
$ git gc
Enumerating objects: 536, done.
Counting objects: 100% (536/536), done.
Delta compression using up to 8 threads
Compressing objects: 100% (424/424), done.
Writing objects: 100% (536/536), done.
Total 536 (delta 177), reused 338 (delta 104)

Pete@sev MINGW64 ~/Documents/path/to/client/repo (master)
$ git fsck --full
Checking object directories: 100% (256/256), done.
Checking objects: 100% (536/536), done.

由于从良好的本地仓库强制推送和服务器上的 git-repair 没有解决问题,将 .git 目录的内容从良好的本地仓库复制到服务器的文件 space(替换repo.git/目录下的所有内容)。然后 运行 git fsck --full 确认问题已经解决。它消失了。