Problème de configuration de l'erreur git: impossible de verrouiller le fichier de configuration

13

J'obtiens cette erreur lorsque j'essaie de définir la configuration globale:

$ git config --global user.name "Your Name Here"
error: could not lock config file /pathto/file/.gitconfig: No such file or directory

et le fichier .gitconfig existe déjà, quelqu'un a des idées ??

codepros
la source
Avez-vous une autorisation de lecture / écriture sur ce fichier? (Vérifier en utilisant ls -la /path/to/file/.gitconfig)
Salem
-rw-rw-r-- 1 .gitconfig
codepros
Utilisez-vous en tant qu'utilisateur correct? Quel utilisateur possède .gitconfig?
Flimm

Réponses:

14

Voyez si l'un de ces conseils vous aide à:

  1. Vérifiez s'il y a un fichier appelé ~/.gitconfig.lock. Si tel est le cas, supprimez-le.

  2. Le fichier vous ~/.gitconfigappartient (utilisez ls -la ~/.gitconfigpour vérifier). Si ce n'est pas le cas, vous pouvez modifier la propriété à l'aide desudo chown <your_username>:<your_username> ~/.gitconfig

Si aucune de ces solutions ne résout le problème, vous pouvez toujours modifier ~ / .gitconfig à l'aide de votre éditeur de texte préféré. C'est juste un fichier de type INI. Un exemple:

$ cat ~/.gitconfig
[user]
    name = my_username
    email = [email protected]
[core]
    editor = editor
    pager = most
[color]
    ui = auto
[merge]
    conflictstyle = diff3

Je suppose que l'emplacement correct est ~/.gitconfig. Si ce n'est pas le cas, remplacez-le par le chemin correct.

J'espère que cela aide.

Salem
la source
il n'y a pas de fichier nommé .gitconfig.lock dans le répertoire personnel et .gitconfig existe déjà ~ /
codepros
et où est .gitconfig? Dans ~ / .gitconfig? Si tel est le cas, essayez de le modifier à la main.
Salem
@Salem, j'ai le .gitconfig dans le ~ / mais l'erreur est toujours là. Aucun conseil?
uday
3

Dans mon cas, il y a un .git/config.lockfichier dans mon git repo. J'ai supprimé ce fichier et cela a résolu le problème.

user3083108
la source
2

Vous devez posséder le répertoire dans lequel se trouve .gitconfig:

chown -R <user>.<user> /pathto/file/

C'est ce qui a fonctionné pour moi.

jorge
la source
1

Mon problème était similaire au vôtre. J'ai trouvé que l'utilisateur "git" n'était pas en mesure d'accéder à son répertoire personnel.

Je l'ai fait chown -R git:git /mnt/sdb1/gitet cela a résolu l'erreur de permission.

Rafael Diego Nicoletti
la source
0

Pour mon cas, mon ~/.gitconfigfichier pointait (lien symbolique) vers mes anciens fichiers dot, que j'avais déplacés vers un autre emplacement, ce qui signifiait qu'il gitconfigpointait vers un fichier inexistant.

Pour savoir où gitconfigétait mon lien symbolique, je l'ai fait ls -la ~/.gitconfig, ce qui montrait qu'il pointait vers un fichier que j'avais déplacé ailleurs.

J'ai dû mettre à jour le lien symbolique vers mes nouveaux dotfiles (dotfiles n'est qu'un nom de dossier de tous mes fichiers .smth).

Pour mettre à jour le lien symbolique, je l'ai fait ln -sf ~/your-new/path-to/gitconfig.symlink ~/.gitconfig

Tout a bien fonctionné

Ruto Collins
la source
0

Dans mon cas, l'erreur était:

error: could not lock config file .git/config: No such file or directory

Je l'ai résolu en créant le .gitrépertoire:

mkdir -p ~/.git
jessarah
la source