2012-09-10 16 views
5

Ho un ramo master e un ramo dev per lo sviluppo corrente (copia locale di lavoro). Ho bisogno di unire i cambiamenti dal master al mio ramo dev. Prima di unire mi sono imbattuto scorta git e ho scoperto il seguente errore:workflow github - fatale: non un repository git (o nessuna delle directory madri): .git

fatal: Not a git repository (or any of the parent directories): .git

Per indagare questo errore mi sono imbattuto i seguenti comandi: git status git branch git remote -v. Tutti prodotti lo stesso errore fatal: Not a git repository (or any of the parent directories): .git

Ho anche provato a ripristinare l'origine del mio ramo git remote set-url origin https://github.com/Connexions/oer.exports.git che produce lo stesso risultato: fatal: Not a git repository (or any of the parent directories): .git

non posso commettere alcuna modifica dal mio directory di lavoro locale sul mio ramo dev neanche.

Qualcuno ha qualche suggerimento su come correggere questo problema.

+0

Verificare che la directory corrente disponga di una cartella '.git'? – Whymarrh

+0

Cosa visualizza '$ ls .git' in questa directory? –

+0

Ho deciso di fare un backup del mio ramo, reclone, tirare il ramo e incollare i file indietro. Questo ha risolto il mio problema. Grazie. –

risposta

2

Un modo per ottenere il messaggio di errore è in qualche modo non essere nell'albero di lavoro del repository git.
Vedere "After git clone I get a “ fatal: Not a git repository (or any of the parent directories): .git ” error" come un'illustrazione.

Può anche essere causa di una variabile di ambiente GIT_WORK_TREE impostata sul percorso errato.
O si è visto in involucri utilizzando git repo come rvm (si veda ad esempio this thread)

In entrambi i casi, il ripristino della situazione in un nuovo clone (che avete fatto) di solito è un buon modo per risolvere la situazione.

13

Controllare il seguente file:

  • your_repo_dir/.git/HEAD

Se questo contenuto sembra non funzionare, questo è il problema. Ho avuto il problema simile e l'ho risolto sostituendo il contenuto del file HEAD con l'hash commit git dell'ultimo commit dal ramo selezionato.

Commit hash possono essere trovati sotto il .git/logs/refs/heads and branch_name_file

spero che aiuta.

+0

Questa era la soluzione quando mi sono imbattuto in questo problema. Il file HEAD era scomparso. –

+0

Questo ha funzionato anche nel nostro caso. La nostra dir di codice è montata su un Mac da un guest di VirtualBox tramite samba e, spesso dopo il risveglio dal sonno, si ottiene questo errore. Il .git/HEAD è vuoto e il ripristino con un programma legittimo risolve il problema. C'era anche un .git/index.lock rimasto che doveva essere rimosso. – apinstein

3

Ho avuto questo errore dopo aver avuto problemi con il plugin git di Visual Studio.

la soluzione è stata di rinominare my_repo_dir/.git/HEAD.lock-my_repo_dir/.git/HEAD

sembra che qualcosa si è schiantato dopo aver bloccato il file di testa e che ha ucciso il repo.

2

Aveva lo stesso problema dopo che ho provato a spostare il ramo su remoto da Visual Studio. Ho rinominato .git/HEAD.lock in .git/HEAD dopo averne controllato il contenuto. Ora funziona bene.

Problemi correlati