2012-03-01 28 views
23

Nel mio git repositiory, ogni volta che faccio tutti i comandi git come git status o git log, ottengo l'errore:
fatal: bad config file line 1 in .git/config
Come si ricostruisce quel file o una nuova?Bad git config file di .git/config

+0

Si può postare il contenuto del file? – iltempo

+0

Secondo il blocco note, è vuoto. – Spencer

+0

Ci sono dei commit nel tuo repository? Se non semplicemente rimuoviamo la directory '.git' e reinizializziamo un repository git vuoto con' git init' – iltempo

risposta

11

Per coloro che colpisce in questo problema (credo che sia a causa di schiantarsi git metà init?) In finestre, se si dispone di un backup recente del file di configurazione da .git/cartella git di pronti contro termine si può aggiustarlo sostituendo l'esistente con esso (qualsiasi ref aggiunto perché la copia avrà ovviamente bisogno di riaggiungere) - non è affatto ideale ma è meglio che perdere tutti i commit.

+0

Spot on woody. Controllato e sicuro che il mio file .gitconfig era vuoto. Ripristinato il file da un backup e tutto va bene nella farm. – JSWilson

+0

Ma non ho eseguito il backup del file di configurazione fino a quando non ho visto questa risposta. Qualche alternativa per i neofiti? Ero alla ricerca di una soluzione allo stesso problema della mia. : - \ –

+0

e se non avessimo il backup del file? –

0

A meno che non hai impostato la variabile d'ambiente GIT_CONFIG, il file di configurazione si chiama .gitconfig e si trova nella vostra directory home $HOME$ per sistemi * nix e %HOMEPATH% per Windows (C: \ Users \ MyName per impostazione predefinita).

Source

+0

Penso che la presenza di '.git /' indichi che l'OP non sta premendo questo su Windows (forse hai interpretato male la domanda?) –

2

Ottengo lo stesso sintomo. Sto usando Cygwin su Windows e quando lancio un processo "git clone", ad esempio, il messaggio di errore è "fatale: riga di configurazione errata 1 in c: /cygwin/home/myhome/.getconfig"

Il problema è ovviamente sul nome del file che è un mix tra windows c: e cygwin/unix path. ;-) Quello che è fuorviante è il messaggio "linea 1" mentre dovrebbe dire "file di configurazione non trovato".

Non so come questo è prodotto come io ho né% HOMEPATH% né $ HOME set

+0

Ho lo stesso problema, ma non riesco a trovare alcun modo per risolverlo. Il problema sembra essere aggravato dal fatto che ho creato il mio repository git sulla mia partizione D: mentre il% HOMEPATH% si trova nella partizione C: e git sembra non piaccia ... (per non parlare il messaggio di errore non molto utile ...) –

+0

E naturalmente, come sospettavo, dopo aver creato il repository sul C: drive, non ho più questo errore ... –

13

Il mio problema era collegato al mio config globale che Git ha deliberato di $HOME/.gitconfig, tuttavia la causa di fondo è capitato di essere indipendentemente dalla posizione.

> git config --global -l 
fatal: bad config file line 1 in C:\Users\<user>/.gitconfig 

Ho l'abitudine di collegamento simbolico-ing i file di configurazione nella mia home directory a un repository Git nidificato per mantenere i file attraverso i miei molteplici ambienti di sviluppo. Si scopre che l'implementazione di Cygwin di un collegamento simbolico non ha molto senso per Git che gira sotto Windows.

Ho modificato il collegamento simbolico a un collegamento fisico e in qualche modo funziona correttamente. Sono stato in grado di verificarlo aprendo il link .gitconfig all'interno di Windows; quando si utilizza un collegamento simbolico il file contiene dati binari, tuttavia il file con collegamenti rigidi contiene il contenuto come previsto.

6

Ho avuto lo stesso problema (Notepad ++ ha mostrato solo NULL caratteri nel file).

sono riuscito a risolverlo creando un nuovo repo (in una cartella separata) con git init e la copia .git/config da lì.

I telecomandi mancavano, ma tutto funzionava dopo averli letti manualmente.

+0

Ho avuto un problema simile ma in Nel mio caso c'era una singola riga piena di caratteri NULL in fondo al file. Rimozione di quella linea utilizzando Blocco note risolto il problema. –

14

So che su alcuni tutorial ti chiedono di inserire il codice qui sotto, ma ciò che realmente dire è che sono i comandi digitati nel terminale: config git user.name --global "NewUser" git config --global user.email [email protected]

Se si modifica il file ($ sudo nano ~ /.gitconfig), si dovrebbe mettere questo nel vostro file invece:

[user] 
name = WilliamQLiu 
email = [email protected] 
+0

mi hai salvato la vita! Grazie – Youssef

+0

Ho avuto per alcuni motivi qualcosa come: [utente] nome WilliamQLiu = WilliamQLiu email [email protected]= WilliamQLiu @ mioemailaddress.com – Archont

8

Il suo meglio per eseguire i due comandi

git config --global user.name "NewUser" 
git config --global user.email [email protected] 

nel terminale. Questo a sua volta aggiornerà il file di configurazione.

+0

Puoi spiegare perché è meglio? –

+1

Questo non risolve il problema. –

+0

Attento durante l'esecuzione dei comandi sopra mentre si modificano user.name e user.password per tutti i repository git. Creerà sicuramente .gitconfig nella directory HOME (~) in MacOS. – realPK

0

stavo ottenendo questo errore in Windows 8.1 con GitHub for Windows client 2.14. *

Nessuno dei repository git clonati nel mio locale erano accessibili. I nomi dei rami, i file modificati, la cronologia, ecc. Non erano visibili.

apertura Shell Git e cercando di controllare lo stato repository utilizzando git status stava dando un messaggio di errore fatal: bad config file ... at C:\Users\MyUser\AppData\Local\GitHub\PortableGit_xxxxx06exx6fdf878271f7fe636a147ff37326ad\etc\gitconfig

Così ho cancellato il file gitconfig a questo percorso e chiuso guscio Git e il client Git. Avvia nuovamente il client Git e il repository torna alla normalità.

5

Anche io ho avuto lo stesso problema, sono riuscito a risolverlo con i passaggi successivi.

  1. file di .gitconfig cancellato da, c: \ users [username] (. Backup creato in caso non ha funzionato, ma non è necessario)
  2. riavviato albero dei sorgenti e File-> Apri -> [repository].
+0

Questo è ciò che Ho fatto e ha funzionato. Il mio file '.gitconfig' era vuoto, quindi non ero preoccupato di cancellarlo (e non ho alcun backup di esso). – bcr

+0

Nuova risposta. Così semplice così vero. – CodeToLife

0

Ho eliminato .git/config nella directory principale della cartella del mio repository perché questo è il nome del file di configurazione errato indicato nel messaggio di errore.

Ho quindi riaperto SourceTree (questo è quello che uso normalmente) e tutto tranne i telecomandi erano lì.

0

Su Windows ho avuto lo stesso problema, 'fatale: file di configurazione errato linea 1 in /home/user.name/.gitconfig'. Ho preso un backup e quindi rimosso il file. Quindi navigato nella mia directory per il repository e ora era in grado di eseguire correttamente i comandi git senza l'errore.

0

Ho avuto lo stesso problema, apro il file e contiene solo caratteri null. Basta cancellarli e ha funzionato.

2

Ho avuto lo stesso problema subito dopo l'installazione iniziale.

"fatale: bad linea config 1 nel file C: \ ProgramData/Git/config"

ho aperto notepad come amministratore, navigato per il file elencato nel messaggio di errore. Anche il file era vuoto ma aveva spazi/tabulazioni quindi li ho cancellati salvando il file. E ora funziona

0

Per me, ho aperto il file di configurazione e cancellato tutto in esso. Ho eseguito il backup del repository e ho clonato nuovamente il repository. Ho quindi applicato manualmente le mie modifiche dal repository di backup.

Si noti che le informazioni di rilevamento remoto andranno perse quando la configurazione verrà cancellata. È possibile aggiungere nuovamente l'host remoto ma si è dimostrato noioso.

1

Per me ha funzionato quando ho aperto la cartella config e cancellato tutti i caratteri nulli al suo interno e salvato di nuovo il file. Quindi ho riavviato la build e git è stato in grado di eseguire i comandi dopo.

0

Il meglio che possono fare è copiare tutti i loro file in un'altra route eccetto la cartella .git, quindi fare clonazione dell'ultimo commit che è riuscito a caricare e incollare i file che sono stati spostati sull'altra route in modo che vengano sovrascritti e consentiti il nuovo commit.

0

Per Cygwin ha incasinato il mio nome utente nel file .gitconfig. Il mio nome utente è stato creato come dominio \ nomeutente e apparentemente il backslash sta sfuggendo alle "s".

Quindi, se dopo aver digitato git status si ottiene questo:

fatal: bad config line 2 in file /cygdrive/c/Users/yourname/.gitconfig 

poi fare questo:

  1. vi /cygdrive/c/Users/yourname/.gitconfig
  2. Modificare la variabile nome a mostrare un nome normale (vale a dire Donald Trump)
  3. Modifica la variabile email per mostrare un valore email valido (ad es. [email protected])
  4. Modificare la variabile nome utente per mostrare un semplice nome utente senza backslash (cioè dtrump)

Quindi il suggerimento di cui sopra è utile ... Proprio prima di creare il repository git (git init), impostare queste variabili subito:

git config --global user.name "NewUser" 
git config --global user.email [email protected] 

Poiché i valori di default sono molto probabilmente non corretta.