git pull schlägt fehl ‘Fehler: refs/stash zeigt nicht auf ein gültiges Objekt!’

Lesezeit: 4 Minuten

Benutzeravatar von Jaime M
Jaime M.

git pull gibt diesen Fehler aus:

$ 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.

Ich habe diese Lösung ausprobiert, aber sie funktioniert bei mir nicht.
Aktualisiert die Info:

$ 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' 'git@git-master' '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:...

  • Nicht sicher, ob dies helfen wird. Versuche es git remote prune origin

    – usha

    18. Dezember 2013 um 16:49 Uhr

  • Bitte $ GIT_TRACE=1 git pull und aktualisieren Sie Ihre Frage mit der tatsächlichen Refspec, die zum Aufrufen verwendet wird git fetch (die erste Sache git pull tut).

    – Kostix

    18. Dezember 2013 um 17:26 Uhr

  • @Vimscha: $ git remote prune origin kehrt zurück error: refs/stash does not point to a valid object!

    – Jaime M.

    19. Dezember 2013 um 9:35 Uhr


  • git remote prune origin hat bei mir funktioniert!

    – Blairg23

    27. März 2016 um 10:24 Uhr

Am einfachsten wäre es, Ihren Vorrat vollständig zu entfernen. Beachten Sie, dass Sie zwei Dateien entfernen müssen – nicht eine Datei, wie in der verlinkten Lösung beschrieben:

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

  • rm .git/refs/… funktioniert bei mir, danke @mockinterface.

    – Monteirobrena

    7. April 2014 um 21:06 Uhr

  • musste laufen git stash danach und Fehler verschwunden

    – Dmitri Gryazin

    17. September 2015 um 13:41 Uhr

  • Am Ende habe ich eine Textsuche durch mein gesamtes .git-Verzeichnis durchgeführt und alle Verweise entfernt.

    – Cordel

    15. November 2017 um 22:18 Uhr

  • Ich bin unter Windows mit git-gui 0.21 und als ich zum Menü Repository -> Visualize master’s history ging, wurde der Fehler angezeigt, aber ich habe dies getan und die Meldung, dass es weg ist, wird hoffentlich nie wieder angezeigt

    – tttony

    10. August 2020 um 0:12 Uhr

Ich bin gerade auf diesen Fehler gestoßen. Zwei Server zogen einen Klon aus derselben Quelle; nur einer von ihnen gab diesen Fehler. Also habe ich tiefer gegraben.

Gits Versionshinweise für Version 1.8.5.5 Zustand:

  • „git clone“ würde nicht aus einem Repository klonen, das eine Referenz direkt unter „refs/“ hat, z. B. „refs/stash“, da verschiedene Validierungspfade unterschiedliche Dinge für einen solchen Refnamen tun. Lockern Sie die Überprüfung auf der Clientseite, um eine solche Referenz zuzulassen.

Ich fand heraus, dass einer der Server Git 1.7.1 und der andere Git 1.8.5.6 verwendete.

Es ist erwähnenswert, dass die fetch Der Befehl würde ebenfalls fehlschlagen, obwohl dies in den obigen Versionshinweisen nicht ausdrücklich erwähnt wird.


In meinem speziellen Fall habe ich auch festgestellt, dass der Server mit Git 1.7.1 tatsächlich ist hatte das spätere Git auch, aber es war später in der PATH Umgebungsvariable.

Es kann von Interesse sein, dass, wenn ich lief git fetch Mit der späteren Version funktionierte der Klon danach auch mit der älteren Version.


Die einfachste Lösung ist einfach zu Aktualisieren Sie Git auf Version 1.8.5.5 oder höher.

Oder lassen Sie das Stash natürlich fallen, aber dann wird Ihr Klon wieder kaputt gehen, wenn jemand das nächste Mal ein Stash macht.

Ich habe alle empfohlenen Lösungen ausprobiert, aber nichts hat es behoben. Was es am Ende für mich behoben hat, war ziemlich einfach:

# 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

Das funktioniert möglicherweise nicht für alle, und es funktioniert möglicherweise nicht, ohne andere Korrekturen zu befolgen, die zuvor hier vorgenommen wurden. Aber es ist einen Versuch wert.

Ich hatte ein ähnliches Problem, aber dabei go build oder go mod tidy oder go run. Alle Befehle gaben mir die gleichen Fehler,

‘Fehler: refs/stash zeigt nicht auf ein gültiges Objekt!’

Ich habe viele Dinge wie unten versucht.

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

Bei mir hat nichts funktioniert. Endlich ich gelöscht der gesamte Cache, der in meinem System unter Pfad vorhanden ist $GOPATH/go/pkg/mod/cache/und ich konnte die Probleme lösen.

1429380cookie-checkgit pull schlägt fehl ‘Fehler: refs/stash zeigt nicht auf ein gültiges Objekt!’

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy