git pull falla ‘error: ¡refs/stash no apunta a un objeto válido!’

4 minutos de lectura

avatar de usuario
jaime m

git pull está dando este error:

$ git pull
error: refs/stash does not point to a valid object!
error: refs/stash does not point to a valid object!
error: refs/stash does not point to a valid object!
error: refs/stash does not point to a valid object!
Current branch mybranch is up to date.

He probado esta solución pero no me funciona.
Actualizado información:

$ GIT_TRACE=1 git pull 
trace: exec: 'git-pull'
trace: run_command: 'git-pull'
trace: built-in: git 'rev-parse' '--git-dir'
trace: built-in: git 'rev-parse' '--is-bare-repository'
trace: built-in: git 'rev-parse' '--show-toplevel'
trace: built-in: git 'ls-files' '-u'
trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
trace: built-in: git 'config' '--bool' 'branch.mybranch.rebase'
trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
trace: built-in: git 'rev-parse' '--verify' 'HEAD'
trace: built-in: git 'update-index' '-q' '--ignore-submodules' '--refresh'
trace: built-in: git 'diff-files' '--quiet' '--ignore-submodules'
trace: built-in: git 'diff-index' '--cached' '--quiet' '--ignore-submodules' 'HEAD' '--'
trace: built-in: git 'rev-parse' '-q' '--git-dir'
trace: built-in: git 'rev-parse' '-q' '--verify' 'refs/remotes/origin/mybranch'
trace: built-in: git 'merge-base' '53512e9ce3faa7c78b6d5d7ba1a63e56b5a42a11' 'refs/heads/mybranch'
trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
trace: built-in: git 'fetch' '--update-head-ok'
error: refs/stash does not point to a valid object!
trace: run_command: 'ssh' '[email protected]' 'git-upload-pack '\''function-test'\'''
error: refs/stash does not point to a valid object!
trace: run_command: 'rev-list' '--verify-objects' '--stdin' '--not' '--all' '--quiet'
trace: run_command: 'rev-list' '--verify-objects' '--stdin' '--not' '--all'
trace: exec: 'git' 'rev-list' '--verify-objects' '--stdin' '--not' '--all'
trace: built-in: git 'rev-list' '--verify-objects' '--stdin' '--not' '--all'
error: refs/stash does not point to a valid object!
error: refs/stash does not point to a valid object!
trace:...

  • No estoy seguro si esto ayudará. Pero intenta git remote prune origin

    -usha

    18 de diciembre de 2013 a las 16:49

  • Por favor, hazlo $ GIT_TRACE=1 git pull y actualice su pregunta con la refspec real que se usa para llamar git fetch (la primera cosa git pull lo hace).

    – kostix

    18 de diciembre de 2013 a las 17:26

  • @Vimsha: $ git remote prune origin devoluciones error: refs/stash does not point to a valid object!

    – Jaime M.

    19 de diciembre de 2013 a las 9:35


  • git remote prune origin ¡trabajó para mi!

    – Blairg23

    27 de marzo de 2016 a las 10:24

Lo más simple sería eliminar por completo su alijo. Tenga en cuenta que deberá eliminar dos archivos, no un archivo, como se describe en la solución vinculada:

rm .git/refs/stash .git/logs/refs/stash

  • rm .git/refs/… me funciona, gracias @mockinterface.

    – monteirobreña

    07/04/2014 a las 21:06

  • tuvo que correr git stash después de eso y los errores desaparecieron

    – Dmitry Gryazin

    17/09/2015 a las 13:41

  • Terminé haciendo una búsqueda de texto en todo mi directorio .git y eliminando todas las referencias.

    – Cordell

    15 de noviembre de 2017 a las 22:18

  • Estoy en Windows con git-gui 0.21 y cuando fui al menú Repositorio -> Visualizar el historial del maestro, mostró el error, pero hice esto y el mensaje desapareció, espero que nunca vuelva a aparecer

    – tttony

    10 de agosto de 2020 a las 0:12

Acabo de encontrarme con este error. Dos servidores extraían un clon de la misma fuente; solo uno de ellos dio este error. Así que cavé más profundo.

de Git notas de la versión para la versión 1.8.5.5 estado:

  • “git clone” no podría clonar desde un repositorio que tiene una referencia directamente debajo de “refs/”, por ejemplo, “refs/stash”, porque diferentes rutas de validación hacen cosas diferentes en dicho nombre de referencia. Afloje la validación del lado del cliente para permitir dicha referencia.

Descubrí que uno de los servidores usaba Git 1.7.1 y el otro usaba Git 1.8.5.6.

Vale la pena señalar que el fetch El comando también fallaría, aunque no se menciona explícitamente en las notas de la versión anteriores.


En mi caso particular también encontré que el servidor con Git 1.7.1 en realidad tenido el Git posterior también, pero fue más tarde en el PATH Variable ambiental.

Te puede interesar que cuando corría git fetch usando la versión posterior, el clon funcionó a partir de entonces incluso con la versión anterior.


La solución más simple es simplemente actualice Git a la versión 1.8.5.5 o posterior.

O, por supuesto, deje caer el alijo, pero luego su clon se romperá nuevamente la próxima vez que alguien haga un alijo.

Probé todas las soluciones recomendadas, pero nada lo solucionó. Lo que me solucionó al final fue bastante simple:

# Made a small change in a code-file with vim

# stash'ed it then
git stash

# got it back
git stash pop

# reverted my small change
git checkout .

# finish, no more error
git pull

Eso podría no funcionar para todos, y podría no funcionar sin seguir otras correcciones realizadas anteriormente aquí. Pero vale la pena intentarlo.

Enfrenté un problema similar pero mientras hacía go build o go mod tidy o go run. Todos los comandos me estaban dando los mismos errores,

‘error: ¡refs/stash no apunta a un objeto válido!’

Intenté muchas cosas como a continuación.

  1. git remote prune origin
  2. git stash
  3. rm .git/refs/stash .git/logs/refs/stash

nada funciono para mi. Finalmente yo eliminado todo el caché presente en mi sistema bajo la ruta $GOPATH/go/pkg/mod/cache/y pude resolver los problemas.

¿Ha sido útil esta solución?