Я запускаю git 1.6.4.2. Уборка мусора не позволяет сказать "ошибка: не удалось найти <SHA1>
".
Мне удалось определить, что недостающий объект - это blob, и я не могу вернуть файл blob. Кажется, что два скрипта, которые запускают "git add" и "git commit", запускались одновременно и им мешали друг другу, так что один передавал более новую версию файла, чем другую, и более старые версия blob исчезла.
Итак, что я пытаюсь сделать сейчас, это откат моего репозитория, чтобы вынуть фиксацию, которая относится к дереву, которое относится к отсутствующему блоблю.
Я знаю, какая ветвь была включена, поэтому я запустил "git reset" для перемотки назад к родительскому члену команды duff. И я знаю, что ветка была объединена где-то в другом месте, поэтому я перематываю эту ветку. Насколько я знаю, на duff commit/tree/blob ни на что не ссылаются. Но если я запустил git prune --expire =, а затем git gc, то я все равно получаю сообщение об ошибке с отсутствующим объектом.
Итак, мой вопрос заключается в следующем: как я могу запросить базу данных git, чтобы найти каждый объект дерева, содержащий идентификатор duff blob? И как мне узнать, что вызывает git чернослив, чтобы сохранить его?
Tricky!!
Спасибо Кевин