Git push не смог github: не смог прочитать объект

История:

Я разрабатывал RoR-приложение и на моем рабочем столе, и на ноутбуке. Было довольно удобно фиксировать изменения, сделанные на другом, подталкивать их к github, fetch & merge на другом.

Отправной точкой является вот это: Я зафиксировал последние изменения на моем рабочем столе, толкнул их на github, а затем извлек и объединил их в свой ноутбук. Затем я сделал несколько коммитов на ноутбуке, а затем отправил их на github. Взял изменения, слил их с моим рабочим столом (с --no-ff). ТАКИЙ, случился вероятный источник всех неприятностей: Я вернул рабочий стол, чтобы сделать коммит там, где он был до последнего fetch & merge. Заставил его немного поработать с разработками, совершил коммит, подтолкнул к github. В ноутбуке я также сделал реверс, хотя я вернул его на коммит, который был сделан где-то между последним извлечением из github'а, извлек снова и объединил их. Некоторые сообщения об ошибках пришли после возвращения и ноутбука, и рабочего стола, но все работало довольно хорошо, и я продолжил работать на обеих машинах.

До сих пор. Я пытался перетащить свой ноутбук на github, что давало следующие результаты:

 Counting objects: 106, done.
 error: unable to find 5a2a4ac...
 error: unable to find bc36923...
 error: unable to find ecb0d86... 
 error: unable to find f76d194...
 error: unable to find f899df7...
 Compressing objects: 100% (64/64), done.
 fatal: failed to read object 5a2a4ac... : Invalid argument
 error: failed to push some refs to 'git@github:username/repo.git'

Итак, вопрос в том, что именно здесь произошло?

EDIT: Кажется, из-за того, что я приостановил свой ноутбук и переместил его с места на место в таком состоянии, жесткий диск каким-то образом испортился. Вывод fsck недоступен, потому что мы работали над проблемой и продолжали работать, но IIRC некоторые ветки и коммиты висели на волоске, включая тот коммит, который git не смог прочитать. - Teemu

17
задан Mark Fisher 28 August 2019 в 13:43
поделиться