辦公網機房意外斷掉,致使gitlab庫文件損壞。開發打開gitlab顯示500git
命令查看:gitlab-ctl tailfrontend
或者手動查看:/var/log/gitlab/gitlab-rails/production.log日誌文件ide
gitlab Rugged::OdbError (Failed to inflate loose object.)gitlab
提示庫文件損壞spa
參考連接:3d
執行如下步驟後,庫恢復正常code
1. # cd gitlab/repositories/<namespace>/<reponame>.git 2. # git fsck If any error like below error: object file objects/11/fbf0dfb1a54283e84044b5e99230efbafd77d8 is empty error: object file objects/11/fbf0dfb1a54283e84044b5e99230efbafd77d8 is empty fatal: loose object 11fbf0dfb1a54283e84044b5e99230efbafd77d8 (stored in objects/11/fbf0dfb1a54283e84044b5e99230efbafd77d8) is corrupt 3. # find . –size 0 –delete This will delete all files which has 0 byte size and corrupt 4. # git fsck Checking object directories: 100% (256/256), done. Checking objects: 100% (4970/4970), done. error: HEAD: not a commit error: refs/heads/master: not a commit dangling commit de516dd3d99d13147b6e2f946fe5b8c0660e4eed 5. Try to push code from local without add and commit # git push origin <branch> If got below error remote: error: Could not read 5329f756010fad47026f112dc7126bdaa2f9ad7f remote: fatal: Failed to traverse parents of commit 8eecd866caa916a3b2e8550153f0bb5a54a28919 remote: aborting due to possible repository corruption on the remote side. fatal: protocol error: bad pack header 6. Go to cd gitlab/repositories/<namespace>/<reponame>.git # rm –fr ref/head/<branchname> # git fsck notice: HEAD points to an unborn branch (master) Checking object directories: 100% (256/256), done. notice: No default references dangling commit eb84ebc9010ea3d3d5646b4eab1bacd358178fbd 7. Try to push code from local without add and commit # git push origin <branch> Done your code updated successfully !!!