Как я могу восстановить свой Git-репозиторий при ошибке «отсутствует дерево»? - PullRequest
28 голосов
/ 30 августа 2011

Мы используем Gerrit для нашего Git-репозитория. В проекте, который был активным в течение нескольких месяцев, мы внезапно не смогли добиться каких-либо изменений. Когда мы выполняем git push, мы видим следующую ошибку:

error: unpack failed: error Missing tree 14d62f0ed4385e3f68f226ac133fa9932a9c65c9

Выполнение git fsck --full выходов:

dangling tree 2701c92fb6eab1826482f6bcc9598413e651a92a  
dangling blob c505b3b12cfacd1e26dec8dc559820a30fc20c27  
dangling blob 8907f94b5b4ec881e1b86d50681795e368c167ff  
dangling blob 4938d9fc34c6e2f92c68872bfec6e070b2b3a9c2  
dangling blob 8a5c8b8d35484ea1470e2d8e6c482fcb97b23d0f  
dangling commit 3072d3314e20bf6c6998e1c02986d83019d3e1df  
dangling tree 5377d7f7111d340854c3ee0946667c202227e603  
dangling tree c3783e9ab540457924ceb9f9fb5ea1c2b97472b1  
dangling blob 8b92d1765038e4ec5e721f98a2aabb305a7f9819  
dangling tree 38a03153f0f18ca15846e9bd4983a86800a43a94  
dangling commit 8db2d6ae5364174bebe13720a359ddb2e62d4c9d  

Все наши разработчики сталкиваются с одной и той же ошибкой при попытке нажать кнопку. До сих пор мы пытались повторно инициализировать репозиторий Gerrit (git init --bare ...) и подталкивать к нему. Мы также попытались создать новый проект Gerrit с отдельным репо. В итоге мы продолжаем получать ту же ошибку.

Есть ли у кого-нибудь понимание того, что может быть причиной, или как исправить ситуацию?

Ответы [ 13 ]

0 голосов
/ 31 мая 2019

Я удалил свою основную ветку и создал еще раз.Работает .git branch -D master, git checkout master К счастью, это работает

0 голосов
/ 25 февраля 2015

Быстрое решение - Fetch -> Rebase-> Commit и затем Push.

0 голосов
/ 10 июля 2014

Технически этот ответ немного запоздал, но для меня сработало создание патча для набора изменений, который я пытался перенести, перенести репозиторий в другое место на диске, применить патч, повторить и отправить.

...