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

0voto

kingnanaprempeh Points 79

Je viens d'avoir le même problème après avoir changé l'email qui était sur le fichier de configuration. Je me suis inscrit à git en utilisant xxxx@gmail.com puis git a généré un courriel pour moi comme suit xxxxxx@users.noreply.github.com . L'email original sur le fichier de configuration était xxxxxx@users.noreply.github.com . Je l'ai changé pour l'email avec lequel je me suis inscrit xxxx@gmail.com a causé le problème. Pour le résoudre, je me suis connecté à mon compte git en ligne, j'ai visité Settings et j'ai navigué jusqu'à la section Email et j'ai localisé l'email généré par GitHub dans cette section qui se lit comme suit :

Primary email address Because you have email privacy enabled, xxxxx@gmail.com will be used for account-related notifications as well as password resets. xxxx@users.noreply.github.com will be used for web-based Git operations (e.g. edits and merges).

Depuis la console, je lance sudo nano ~/.gitconfig J'ai entré le mot de passe de mon ordinateur, puis j'ai changé l'email de xxxx@gmail.com retour à l'email de Github xxxx@users.noreply.github.com . Ensuite, appuyez sur (ctr + O) pour enregistrer, puis appuyez sur entrée, puis appuyez sur (ctr + x) pour fermer le terminal. Pour être sûr que cela fonctionne, j'ai cloné à nouveau le repo en utilisant git clone https://github.com/xxxxx où xxxx est le repo et ça a marché :)

0voto

HeshanHH Points 385

Cela peut arriver si vous modifiez manuellement .gitconfig fichier . dans le C:\Users\.gitconfig (vous pouvez l'éditer en utilisant Notepad++) ouvrez-le et vérifiez ces lignes.

 [user]
        name = <your username>
        email = <your email>
    [core] 
        editor = <editor location>

Vous pouvez changer ces lignes. Si vous ajoutez une mauvaise ligne à la variable de l'éditeur, cela peut conduire à une erreur. Vous pouvez simplement supprimer cette ligne, mais assurez-vous de la sauvegarder. Ou vous pouvez vérifier le bon code/chemin pour vous connecter avec votre éditeur de texte et le remplacer par le nouveau code/chemin qui fonctionne.

Ensuite, enregistrez-le. (ceci peut être plus utile pour les utilisateurs d'Android studio)

0voto

Je ne vois pas comment trouver l'erreur exacte, git ne montre qu'un numéro de ligne, donc je poste mes étapes de dépannage au cas où cela aiderait quelqu'un.

J'ai eu ce problème en essayant d'ajouter un alias à mon fichier ~/.gitconfig via un éditeur de texte (emacs). J'ai découvert mon problème en utilisant plutôt cette commande pour éditer la configuration :

git config --global alias.<my_alias> 'my new command'

Je créais un alias pour montrer seulement la branche sur laquelle je suis :

$ git config --global alias.thisbranch '!thisbranch() { git branch | grep \* | cut -d " " -f2; }; thisbranch'

Le problème était que le * Le personnage devait avoir un \\ double évasion dans le ~/.gitconfig depuis que le \ devait être échappé (la commande était maintenant imbriquée dans une chaîne), mais je n'utilisais que le caractère d'échappement unique \ .

Donc ma configuration git ressemble à ceci maintenant :

[alias]
        ...
        ...
        thisbranch = "!thisbranch() { git branch | grep \\* | cut -d \" \" -f2; }; thisbranch"

0voto

Alektas Points 41

J'ai eu le même problème pour mon projet Android. J'ai donc fait ce qui suit dans Android Studio : File -> Invalidate Cache and Restart. Cela m'a aidé.

-3voto

J'étais également confronté au même problème, alors je suis allé dans le chemin du fichier et c : \User\.gitconfig et a supprimé tout le contenu à l'intérieur et l'a enregistré. Maintenant, cela fonctionne $ git --version git version 2.22.0.Windows.1

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