2013-08-28 3 views
6

comando a trazione Git sta lavorando bene, ma git scorta sta dando il seguente errore:Git scorta non riesce 'errore: in grado di risolvere refs di riferimento/scorta: Nessun file o directory'

$git stash 
error: unable to resolve reference refs/stash: No such file or directory 
fatal: Cannot lock the ref 'refs/stash'. 
Cannot save the current status 

Come risolvo questo in modo da non perdere le mie modifiche?

+0

Il tuo utente ha i permessi di scrittura nella directory '.git' /' .git/refs'? – knittl

+1

Quale sistema operativo e quale versione git stai usando? – VonC

+0

versione git 1.7.9.5, sistema operativo Linux. .git e .git/refs hanno letto ed eseguito permessi – skadoosh

risposta

15

Stavo avendo un problema molto simile, dopo un filesystem corrotto.

La soluzione era quella di rimuovere il file o la directory .git/logs/refs/scorta

Dopo eliminare il file o la directory, plase uso git scorta per creare una nuova ref, e questo è tutto.

Questo eliminerà qualsiasi stash che potresti avere, quindi fai attenzione.

git stash 
error: refs/stash does not point to a valid object! 
rm -r .git/logs/refs/stash 
git stash 
Saved working directory and index state WIP on master: e1d74d8 fixing get_thumbnail_list 
+0

Sì, ho fatto una cosa simile e questo problema non si è presentato più. Grazie a – skadoosh

+2

su git versione 2.6.2 il file può essere trovato su: .git/refs/stash –

2

È possibile rimuovere la scorta e aggiungere nuova cartella scorta se il problema ancora rimasto dopo rimuovere la scorta:

rm -r .git/logs/refs/stash

mkdir .git/logs/refs/stash

6

ho dovuto eliminare file seguente anche per ottenere funziona.

rm -f .git/refs/stash