2013-09-22 20 views
6

fatale non un repository git (o una qualsiasi delle directory superiori) .git è l'errore che sto ottenendo quando provo a eseguire qualsiasi operazione git sul mio repo. Ho apportato alcune modifiche al mio progetto, che è il repository, quindi provo a git status per controllare le mie modifiche e incontrare questo errore. Ho cercato su Google questo errore ma non ho fatto alcun progresso. Sembra che questo errore è più comune quando si tenta di eseguire operazioni git in una directory che è al di fuori del repo che non è il mio caso. Inoltre ho provato a controllare il mio ./git/HEAD e ./git/logs/refs/heads entrambi i quali sono file vuoti. ./git/logs/refs/remotes/origin/master è anche vuoto.git non un repository git fatale (o una qualsiasi delle directory superiori) .git

così fin dall'inizio:

  • ho fatto un progetto Android in questa directory su un computer.
  • Ho avviato un git su questa directory e l'ho pubblicato su github.
  • Ho seguito le solite guide in linea per l'estrazione di questo repository su altri 2 computer .
  • Effettuate alcune modifiche su un altro computer, ha trasferito le modifiche al repository .
  • Quindi sul computer originale ho tirato con successo le modifiche.
  • Dopo non aver lavorato al progetto per alcuni giorni, ho apportato alcune modifiche allo sul computer originale, ho provato a git status e questo succede.

risposta

6

Assicurarsi che non si dispone di una variabile GIT_DIR o GIT_WORK_TREE ambiente impostato nella sessione corrente, che puntare a una cartella non corretta.

In caso di dubbio, provare una:

cd /path/to /your/repo 
git --git-dir .git --work-tree . status 

Se non funziona ancora, provare almeno a clonare ancora una volta che repo da GitHub, e aggiungi le recenti modifiche in quella nuova repo:

cd /path/to/new/clone 
git --git-dir .git --work-tree /path/to /your/repo add . 

(e continua a lavorare in quel nuovo clone)

+0

Non riesco a utilizzare alcun comando git nel percorso del repository. Qualsiasi comando git restituisce solo l'errore "not a repo". In quale altro modo posso controllare il mio GIT_DIR o GIT_WORK_TREE? – xyals

+0

@ user2804884 hai provato il primo comando git che ho menzionato nella mia risposta? – VonC

+1

l'ho provato nel percorso del mio repository e ha restituito l'errore nella domanda – xyals

6

Anch'io ho avuto lo stesso problema. Il problema era che la mia cartella git era sincronizzata dal servizio cloud UbuntuOne. Aveva incasinato i file aggiungendo file aggiunti con u1conflict. E il mio .git/HEAD era anche incasinato come .git/HEAD.u1conflict.

Stai utilizzando servizi di collaborazione cloud sul git? Dropbox, UbuntuOne, ecc. Probabilmente la tua cartella .git potrebbe essere incasinata durante il processo di sincronizzazione.

9

Nel mio caso, il file accidentalmente .git/HEAD era incasinato con caratteri non sconosciuti, ma il file .git/ORIG_HEAD era ok (ha ID commit). Quindi, ho copiato il contenuto di .git/ORIG_HEAD nel file .git/HEAD. Quindi riavviato IDE (Aptana) e tutto ha funzionato bene.

+0

Mi sono imbattuto in questo problema quando ho visto un sacco di caratteri NULL nel file .git/HEAD dopo che il mio computer si è bloccato. Il primo sintomo che ho notato era una perdita completa di tutto nella cronologia dopo aver visto il messaggio "'git log' fallito con il codice 128: fatal: Not a git repository ...". Questa mossa fluida ha ripristinato le cose. – RacerNerd

Problemi correlati