如何修复git-lfs服务器(gitlab)上损坏的文件?

时间:2018-11-06 10:41:18

标签: git gitlab corruption git-lfs

我们正在使用启用git-lfs(v.2.4.2)的GitLab 11.2.1-ee。
我们发现服务器上的git-lfs中的对象已损坏。当我们运行

sudo gitlab-rake gitlab:lfs:check VERBOSE=1 

,我们有

- 1401..1600: Failures: 1
  - LFS object: b675b00828707cd53dc5c130efce8a9d352e5efd8b9b29f06808810b6ebb5491: Checksum mismatch

现在,当我们尝试做 git lfs pull在克隆中,我们得到

Expected OID b675b00828707cd53dc5c130efce8a9d352e5efd8b9b29f06808810b6ebb5491, got 2c6abc2c4d29bd1c7f0041160ea15ea2765df10194a6e9ef3e6e2139c11fc67f after 12427595 bytes written
error: failed to fetch some objects from 'https://192.168.1.100/root/our_project.git/info/lfs'

我们应如何解决此腐败问题?

1 个答案:

答案 0 :(得分:1)

已解决。

我们发现服务器上文件b6/75/b00828707cd53dc5c130efce8a9d352e5efd8b9b29f06808810b6ebb5491的内容的sha256sum等于2c6abc2c4d29bd1c7f0041160ea15ea2765df10194a6e9ef3e6e2139c11fc67f(似乎不正确),并且回购克隆中同一文件的内容正确(等于{{1}) }。 我们用repo clone中的文件b675b00828707cd53dc5c130efce8a9d352e5efd8b9b29f06808810b6ebb5491的内容替换了服务器上文件b6/75/b00828707cd53dc5c130efce8a9d352e5efd8b9b29f06808810b6ebb5491的内容,现在一切正常。 现在,我们可以在新克隆中进行推拉和更改分支了,而没有任何错误。

要在xubuntu上获取sha256,我们使用

cat b6/75/b00828707cd53dc5c130efce8a9d352e5efd8b9b29f06808810b6ebb5491 | sha256sum

在Mac上:

shasum -a 256 b6/75/b675b00828707cd53dc5c130efce8a9d352e5efd8b9b29f06808810b6ebb5491