Сьогодні вранці я почав отримувати цю помилку від git:
фатальний: файл індексу менший, ніж очікувалося
смертельний: git status - porcelain failed
Будь-яке уявлення про те, що відбувається і як це вирішити?
Сьогодні вранці я почав отримувати цю помилку від git:
фатальний: файл індексу менший, ніж очікувалося
смертельний: git status - porcelain failed
Будь-яке уявлення про те, що відбувається і як це вирішити?
Відповіді:
Файл індексу пошкоджений, але його можна легко повторно створити. Просто видаліть його ...
rm .git/index
Потім ви можете повторно додати файли, які намагаєтесь індексувати.
git add .він поводився так, ніби кожен окремий файл був новим і потребував коміту.
git restore --stagedі це
Якщо ви хочете зберегти локальні зміни, використовуйте наступне:
$ rm .git/index
$ git reset HEAD .
> Unstaged changes after reset:
modified foo.txt
modified bar.txt
.git/modules/src). Це змусило мене здивуватися, чому помилка все-таки сталася після видалення (основного) файлу індексу.
Для тих, хто має проблеми навіть після видалення індексу і не може зробити скидання. Якщо ви хочете зберегти свої зміни, зробіть наступне (не рішення, а скоріше некрасиве обхідне рішення!).
Мій випадок був описаний вище, git переплутав свої посилання ... Git logпоказував "ваша гілка здається зламаною" і git fsckдавав мені попередження про погані посилання. Придумав, чи можу я, мабуть, це виправити, але я витратив би на це багато часу, тому я пішов на некрасиве обхідне рішення.