Git не может заблокировать ref 'HEAD': не удалось выполнить ссылку HEAD
Я пытаюсь зафиксировать изменения в моем репозитории, но получаю следующее сообщение:
git -c diff.mnemonicprefix=false -c core.quotepath=false commit -q -F C:\Users\Contronym\AppData\Local\Temp\bkdweixb.mnu
fatal: cannot lock ref 'HEAD': unable to resolve reference HEAD: Invalid argument
Completed with errors, see above.
Я использую bitbucket и SourceTree.
В чем причина этого сбоя? За последнюю неделю я смог зафиксировать последние 3 фиксации. Затем, внезапно, я получаю эту ошибку.
ИЗМЕНИТЬ
Я побежал git gc
, и это результаты:
$ git gc
error: bad ref for HEAD
error: bad ref for HEAD
error: inflate: data stream error (unknown compression method)
fatal: loose object 53b65bd9b4fec7f6a7b0b3313c68199a18804327 (stored in .git/objects/53/b65bd9b4fec7f6a7b0b3313c68199a18804327) is corrupt
error: failed to run repack
Я проверил каталог .git/objects/53/b65bd9b4fec7f6a7b0b3313c68199a18804327
, но этого не существует. Там есть еще два файла, но b65bd9b4fec7f6a7b0b3313c68199a18804327
не существует.
Ответы
Ответ 1
У меня была та же проблема, и единственное решение, которое я нашел, было перейти к голове следующим образом:
.git/ссылки/головки /branch_name
И я удалил главный файл. Затем я подошел к консоли и использовал команду:
git reset
Затем все файлы были удалены, поэтому добавьте их и зафиксируйте их позже.
Ответ 2
У меня была такая же проблема, это работало для меня:
Шаг 1) - зайдите в .git\logs\refs \head и откройте Документ с именем YOUR_BRANCH, теперь скопируйте идентификатор -numbers перед вашим именем пользователя и email-
Шаг 2) - добрались до .git\refs \head и откройте документ с именем YOUR_BRANCH, удалите строку и вставьте ID в.
Надеюсь, это поможет вам
Ответ 3
Работал у меня, в терминал входи: (ветвь соответственно твоим желаниям lul)
echo ref: refs/heads/master >.git/HEAD
Ответ 4
Если вы не против потерять свою историю, вы можете удалить файл .git, а затем
git init
Это приведет к повторной инициализации вашего хранилища, и вы сможете продолжить
Ответ 5
У меня была такая же проблема после вызова команд git с пользователем root внутри рабочей копии. Таким образом, владелец и группа владельцев различных файлов в.git/были изменены на "root".
Когда я вернулся к своей учетной записи, git больше не мог обрабатывать эти файлы из-за отсутствия разрешений.
Опять заработало, после сброса разрешений с
sudo chown -R [MY_USER]:[MY_GROUP] .git
Ответ 6
Когда я сталкиваюсь с этим, я просто git клонирую проект в новый каталог с файлами и вытаскиваю папку заголовков из .git\refs \head и заменяю исходный файл заголовков в каталоге, где у вас возникла проблема. Затем просто удалите новый клон, который вы создали (поскольку он, очевидно, не имеет обновлений, которые вы пытаетесь отправить).
Ответ 7
У меня та же проблема. Я просто использовал команду:
git reset
Чем я удалил файл /my _project_directory/./git/refs/heads/master
и чем я могу использовать команду
git reset --hard <my_hash_of_last_commit_on_remote_branch>