Мій сховище git якось вийшов химерним - я завантажив msysgit сьогодні вранці, і замість того, щоб назва гілки відображалася після поточного каталогу, вона говорить "((ref: re ...))", "git status" повідомляє про все як новий файл, "git log" та "git reflog" скажіть мені "фатально: погана редакція за замовчуванням" HEAD "" тощо.
Здійснення "git reflog --all" або "gitk --all" показує мені, що решта сховища є недоторканою, але схоже, що гілка, над якою я працював, просто зникла, що пояснює, чому HEAD, здається, не існує / вказувати на що завгодно.
Я знаю, що git зберігає всілякі сфери інформації, і я припускаю, що мої зобов'язання якимось чином осиротіли, тож чи є якась команда, яка покаже мені ці зобов'язання, щоб я міг скинути HEAD на них?
РЕДАКТ: О дорогий. Я виявив "git fsck", а "git fsck --full" повідомляє "фатально: об'єкт 03ca4 ... пошкоджений". Що чорт я можу з цим зробити?
EDIT: О, дорогий о, дорогий. Я перевірив іншу гілку, потім спробував відновити оригінальну гілку з тим самим іменем, використовуючи 'git checkout -b lostbranchname', і git каже "помилка: не вдається вирішити посилання refs / heads / lostbranchname: Немає помилки, фатально: Не вдалося щоб заблокувати ref для оновлення: немає помилки ". "Без помилок" має бути особливо неприємною помилкою. Так виглядає, що він все ще висить навколо, але не може бути використаний і не може бути вбитий.
EDIT: Супер дупер о, дорогий. Я зробив купу розпакування та упаковки та заміни речей, як тут запропоновано: Як відновити об'єкти Git, пошкоджені збою жорсткого диска? , але тепер я отримую ще один хеш, про який повідомляють як про корупцію, за щось таке нешкідливе, як "git status". Я думаю, вся справа в шлангу. Гіт прекрасний і все, але я не повинен мати справу з подібними справами.
git checkout -b lostbranchname- якщо ви дбаєте лише про назву гілки (а не про її вміст), ви можете її вручну видалити (або перейменувати).git/refs/heads/lostbranchname- це, сподіваємось, зробить трюк.