49 votes

Mauvais fichier de configuration git .git/config

Dans mon dépôt git, chaque fois que je fais une commande git comme git status o git log j'obtiens l'erreur :
fatal: bad config file line 1 in .git/config
Comment reconstruire ce fichier ou un nouveau ?

1 votes

Pouvez-vous afficher le contenu du fichier ?

0 votes

Selon le bloc-notes, c'est vide.

0 votes

Y a-t-il des commits dans votre dépôt ? Si non, supprimez simplement le .git et réinitialiser un dépôt git vide avec git init

25voto

Woody Hayday Points 316

Pour ceux qui rencontrent ce problème (je crois qu'il est dû à un plantage de git mid init ?) sous Windows, si vous avez une sauvegarde récente du fichier de configuration du dossier .git/ de votre dépôt git, vous pouvez le réparer en remplaçant l'existant par celui-ci (toute référence ajoutée depuis la copie devra évidemment être ajoutée à nouveau) - ce n'est pas du tout idéal mais c'est mieux que de perdre tous les commits.

1 votes

Spot on woody. J'ai vérifié et bien sûr mon fichier .gitconfig était vide. J'ai restauré le fichier à partir d'une sauvegarde et tout va bien dans la ferme.

0 votes

Mais je n'ai pas sauvegardé ce fichier de configuration jusqu'à ce que je voie cette réponse. Y a-t-il des alternatives pour les débutants ? J'étais à la recherche d'une solution pour le même problème que le mien :-\

0 votes

Que faire si nous n'avons pas la sauvegarde du fichier ?

21voto

Will Points 1283

Je sais que dans certains tutoriels ils vous demandent de mettre le code ci-dessous, mais ce qu'ils veulent dire en fait c'est que ce sont les commandes que vous tapez dans le terminal : git config --global user.name "NewUser" (nouvel utilisateur) git config --global user.email newuser@example.com

Si vous modifiez le fichier ( $ nano ~/.gitconfig ), vous devriez mettre ceci dans votre fichier à la place :

[user]
name = WilliamQLiu
email = WilliamQLiu@myemailaddress.com

17voto

adgoudz Points 181

Mon problème était lié à ma configuration globale que Git a résolu comme suit $HOME/.gitconfig mais la cause sous-jacente était la même, quel que soit le lieu.

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

J'ai l'habitude de faire des liens symboliques entre les fichiers de configuration de mon répertoire personnel et un dépôt Git imbriqué pour maintenir les fichiers dans mes multiples environnements de développement. Il s'avère que l'implémentation d'un lien symbolique par Cygwin n'a pas beaucoup de sens pour Git sous Windows.

J'ai remplacé le lien symbolique par un lien physique et cela fonctionne bien. J'ai pu vérifier cela en ouvrant le lien .gitconfig dans Windows ; en utilisant un lien symbolique, le fichier contenait des données binaires, mais le fichier lié en dur contient le contenu comme prévu.

10voto

user3216139 Points 109

Il est préférable d'exécuter les deux commandes

git config --global user.name "NewUser"
git config --global user.email newuser@example.com

dans le terminal. Ceci va à son tour mettre à jour le fichier de configuration.

0 votes

Pouvez-vous expliquer pourquoi c'est mieux ?

0 votes

Faites attention en exécutant les commandes ci-dessus car vous changez le nom et le mot de passe de l'utilisateur pour tous les dépôts git. Cela créera sûrement .gitconfig dans le répertoire HOME (~) sous MacOS.

0 votes

Une fois que l'erreur ci-dessus s'est produite, si nous exécutons les commandes ci-dessus, il n'y aura aucun succès. Mais ouvrez le fichier .gitconfig, supprimez les lignes existantes et essayez d'exécuter les commandes ci-dessus dans le terminal pour résoudre ce problème.

10voto

J'ai eu le même problème (Notepad++ n'affichait que NULL caractères dans le fichier).

J'ai réussi à résoudre le problème en créant un nouveau dépôt (dans un dossier distinct) avec les éléments suivants git init et la copie .git/config à partir de là.

Les télécommandes étaient manquantes après ça, mais tout a fonctionné après les avoir réinsérées manuellement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X