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

1voto

mirekphd Points 11

Tout d'abord, une corruption de fichier peut être un symptôme de problèmes de système de fichiers (c'était mon cas), donc pour éviter toute perte de données supplémentaire, démarrez en mode de secours, et avant de monter la partition exécuter l'utilitaire de vérification du disque sur elle (par exemple fsck -n o xfs_repair -n ).

Mais si vous utilisez Jenkins puis de trouver la version corrompue .git/config Le dossier peut ne pas être facile. Il est stocké localement en deux exemplaires au moins :

  • dans la copie locale du repo distant cloné par Jenkins en <JENKINS_HOME>/<remote_repo_name> ET
  • mis en cache dans l'une des nombreuses git-* dossiers dans <JENKINS_HOME>/caches .

0voto

Vinay Vemula Points 1881

J'ai obtenu cette erreur sous Windows 8.1 avec le client GitHub pour Windows 2.14.*.

Aucun des dépôts git clonés dans mon local n'était accessible. Les noms des branches, les fichiers modifiés, l'historique, etc. n'étaient pas visibles.

Ouvrir le Shell Git et essayer de vérifier l'état du dépôt en utilisant git status donnait un message d'erreur fatal: bad config file ... at C:\Users\MyUser\AppData\Local\GitHub\PortableGit_xxxxx06exx6fdf878271f7fe636a147ff37326ad\etc\gitconfig

J'ai donc supprimé le fichier gitconfig à cet endroit et j'ai fermé le shell Git et le client Git. J'ai redémarré le client Git et le dépôt est redevenu normal.

0voto

bcr Points 651

J'ai supprimé .git/config à la racine de mon dossier de référentiel, car c'est le mauvais nom de fichier de configuration qui a été donné dans le message d'erreur.

J'ai ensuite rouvert SourceTree (c'est ce que j'utilise normalement) et tout était là, sauf les télécommandes.

0voto

William Ovuaku Points 51

Pour moi, j'ai ouvert le fichier de configuration et supprimé tout ce qu'il contenait. J'ai sauvegardé le référentiel et j'ai re-cloné le référentiel. J'ai ensuite appliqué manuellement mes modifications à partir du référentiel sauvegardé.

Il faut noter que les informations de suivi à distance seront perdues lorsque la configuration sera effacée. Vous pouvez ajouter à nouveau l'hôte distant, mais cela s'est avéré fastidieux pour moi.

0voto

Jhon Jimenez Points 1

Le mieux qu'ils puissent faire est de copier tous leurs fichiers dans une autre route à l'exception du dossier .git puis de faire un clone du dernier commit qui a réussi à télécharger et de coller les fichiers qui ont été déplacés vers l'autre route afin qu'ils soient écrasés et permettent le nouveau commit.

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