Подтвердить что ты не робот

Git ошибка при Git pull (не удалось обновить локальную ссылку)

У меня есть только мастер ветвления, и я получаю эту ошибку каждый раз, когда я пытаюсь "git pull":

error: Couldn't set refs/remotes/origin/master
From /var/lib/git/xxx/project
 ! a0f80ea..49177a3  master     -> origin/master  (unable to update local ref)

и когда я делаю "git pull origin master", я получаю:

error: Couldn't set ORIG_HEAD
fatal: Cannot update the ref 'ORIG_HEAD'.

Я искал, но не мог найти, почему

4b9b3361

Ответ 1

Моя команда и я столкнулись с этой ошибкой, не в состоянии обновить локальную ссылку, когда вы тянете в SourceTree.

Мы использовали:

git gc --prune=now

Это удаляет любые повторяющиеся ссылочные объекты, которые должны устранить проблему.

Вот несколько ссылок, где вы можете узнать больше о ссылках git и обрезке:

git подсказка недели

git -prune documentation

git ссылки

Ответ 2

Я решил следующее:

git remote prune origin

Ответ 3

Я обнаружил то же сообщение об ошибке, пытающееся вырваться из Bitbuck Repo в мою локальную копию. Существует также только один Branche Master и команда git pull origin master приводят к этому сообщению об ошибке

From https://bitbucket.org/xxx
 * branch            master     -> FETCH_HEAD
error: Couldn't set ORIG_HEAD
fatal: Cannot update the ref 'ORIG_HEAD'.

Решение следующим образом

  • git reflog найдите номер последней фиксации
  • git reset --hard <numnber> reset до последнего фиксации
  • git pull origin master снова тянуть без ошибок

Ответ 4

Убедитесь, что пользователь, выполняющий git pull, является тем же пользователем, который создал репозиторий. Разрешения для файлов неверны.

Ответ 5

rm .git/refs/remotes/origin/master

Это работает для меня!

Ответ 6

Попробуйте использовать эту команду в корневой папке вашего репозитория git:

rm .git/logs/refs/remotes/origin/master 

Ответ 7

Это случилось со мной в OSX, где я использую файловую систему, не учитывающую регистр. Как-то другой разработчик нажал ветку с тем же именем, но в другом случае: My-Branch vs My-Branch.

Я уже проверил My-Branch и получил ошибку "не удалось обновить локальную ссылку", когда я сделал pull, возможно, потому что файловая система думает My-Branch == My-Branch.

Поскольку мы используем Github, я мог бы решить эту проблему, удалив одну из ветвей через GUI Github.

Ответ 8

Говоря от пользователя ПК - Перезагрузите.

Честно говоря, это сработало для меня. Я решил две странные проблемы git, которые, как я думал, были повреждены таким образом.

Ответ 9

Эта ошибка с (неспособным обновить локальную ссылку) также может произойти, если вы недавно изменили пароли, и есть некоторые причудливые вещи, интегрирующие ваши логины Windows и Linux.

Ответ 10

Повторите клонирование репозитория и скопируйте папку .git в свой сломанный проект.

Ответ 11

У меня была такая же проблема на моем сервере debian, как и на диске. Никакой файл temp не может быть создан, так как на устройстве не остается свободного места. После очистки некоторых файлов это получилось прекрасно.

Ответ 12

Вероятно, это очень нишевая ситуация, но: я запускаю Windows на виртуальной машине Parallels на моем MacBook Pro, а мои локальные репозитории хранятся на диске виртуальной машины, который используется совместно с macOS.

Если у меня открыт файл в приложении Mac из репозитория, расположенного на виртуальной машине Windows, я иногда получаю сообщение об ошибке "невозможно обновить локальную ссылку". Решение, когда это происходит, состоит в том, чтобы просто закрыть файл или выйти из приложения Mac.