Error de Git en git pull (no se puede actualizar la referencia local)
Solo tengo una rama maestra y recibo este error cada vez que intento 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)
Y cuando corro git pull origin master
me sale:
error: Couldn't set ORIG_HEAD
fatal: Cannot update the ref 'ORIG_HEAD'.
He estado buscando pero no encuentro por qué.
Mi equipo y yo nos encontramos con este error, no pudimos actualizar la referencia local al realizar una extracción en SourceTree.
Actualización 2020: según la respuesta de @Edward Yang a continuación, el comentario de @bryan sobre esta respuesta y esta pregunta/respuesta , es posible que deba ejecutar ambos
git gc --prune=now
ygit remote prune origin
. Ejecutar solo el primero siempre me ha funcionado, pero según las respuestas de las personas, creo que ambos son necesarios para abordar diferentes causas del error.
Nosotros usamos:
git gc --prune=now
Esto elimina cualquier objeto de referencia duplicado que debería solucionar el problema.
Aquí hay algunos enlaces donde puede obtener más información sobre las referencias y la poda de git :
consejo de git de la semana
documentación de git-prun
referencias de git
Resolví lo siguiente:
git remote prune origin
con el comando de línea gitbach, utilícelo git update-ref
para actualizar la referencia de su sucursal local:
$ git update-ref -d refs/remotes/origin/[locked branch name]
luego tire usando$ git pull
[locked branch name]
es el nombre de la rama en la que se produce el error debido a que los ID de confirmación no coinciden.