2013-02-19 4 views
38

ich diesen Fehler, wenn sie versuchen, die globale Konfiguration zu setzen:Probleme beim Einrichten git mit meinem Fehler GitHub Konto: config-Datei nicht sperren konnte

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

und die Datei .gitconfig bereits vorhanden ist, jemand irgendwelche Ideen??

+0

Welches OS ist dies auf? (Es sieht so aus, als könnte Git Ihr $ HOME oder $ USER nicht korrekt auflösen? Oder haben Sie diesen "Benutzernamen" dort selbst eingegeben?) –

+0

Haben Sie die richtigen Berechtigungen für '.gitconfig'? – CharlesB

+1

-rw-rw-r-- 1 .gitconfig – codepros

Antwort

23

Ein bisschen wie in "Trouble setting up Tower with my GitHub Account - error: could not lock config file", überprüfen, wie diese ~/.gitconfig Datei erstellt wurde.
Ie: mit welchen Rechten verbunden?

Stellen Sie außerdem sicher, dass Ihre $HOME-Variable korrekt eingestellt ist, wenn Sie den Befehl git config --global ausführen.

+1

@codepros eine Chance, dass Datei von einem anderen Prozess gesperrt werden könnte? – VonC

+0

Ich werde versuchen, git wieder zu installieren – codepros

14

Ich habe diesen Fehler erhalten, wenn eine Sperrdatei für gitconfig existiert. Versuchen Sie und finden und entfernen .gitconfig.lock (auf meiner Linux-Box war es in meinem Home-Verzeichnis)

+1

Ähnlich hier - ich hatte eine "config.lock" -Datei in meinem .git-Verzeichnis. Ich habe es nur in "config" umbenannt. Ich bin mir nicht sicher, was die Blockierung verursacht hat, ich habe nur normales Verzweigen/Drücken/Ziehen ausgeführt. Edit: Könnte gewesen sein, weil ich Git Bash neben einem Visual Studio Git-Plugin ... – Lyall

+0

Hatte zu löschen '../. Git/svn/.metadata.lock'. Sieht so aus, als könnte jede '.lock' Datei Probleme verursachen. –

7

Windows-Benutzer: Stellen Sie sicher, Ihre Umgebungsvariablen richtig eingestellt sind.

Ich hatte folgende für mein Konto username 'Büroklammer':

My Computer (right-click) > Properties > Advanced (tab) > Environment Variables (under System Variables):

HOME -> %HOMEPATH%

HOMEPATH -> C:\Documents and Settings\paperclip

Es ist wie Git scheint konnte nicht lösen/erweitern %HOME% zu %HOMEPATH% wie du es erwarten würdest. Stattdessen musste ich %HOME% die gleiche wie %HOMEPATH% machen, indem sie an sich ändernde:

HOME -> C:\Documents and Settings\paperclip

+2

Ich glaube nicht, dass du das tun musst. Sie können einfach die Home-Variablen aus der Umgebung entfernen und es wird funktionieren. –

+0

Mein Fall war etwas ähnliches. Ich habe ein variables Home erstellt, das einen falschen Namen in meinem Benutzernamen hat. Ich habe Git mehrere Male neu installiert, aber keine Hilfe. Ich konnte nicht einmal Konfigurationen speichern. Schließlich, als ich diese Antwort sah, löschte ich die Variable home, und alles ist in Ordnung. –

+0

Ich hatte das gleiche Problem - TortoiseGit konnte die "doppelte Indirection" "% HOME% ->% USEPROFILE% -> C: \ Users \ andre' nicht auflösen und musste'% HOME% = C: \ Users 'direkt setzen \ andre'. – Andre

1

Ich habe „erfahrene“ diesen Fehler unter Windows, weil mein Name (und damit %HOMEPATH%) enthält eine nicht-ASCII-Zeichen (é). Entweder git oder cmd.exe oder irgendetwas anderes konnte damit nicht umgehen.

8

tun nur als Administrator ausführen ....... Sie müssen das Programm im Vorfeld als Administrator-Modus in Windows

+0

Ich hatte das gleiche Problem und als ich Gitbash als Administrator lief das Problem gelöst –

17

Prüfung auszuführen, wenn Sie ein .git Verzeichnis in Ihrem Home-Ordner und wenn Sie don ‚t:

mkdir ~/.git

das Problem in meinem Fall gelöst.

0

Für mich war das Problem nicht git config, aber .git Verzeichnis bei meinem aktuellen Repo wurde von root erstellt und ich versuchte, etwas mit meinem anderen Benutzer zu tun. Ich habe die Dauerwelle geändert

3

In Windows: Rechtsklick auf "Git Bash" -Symbol -> Als Administrator ausführen. hat mir geholfen.

Git versucht, eine Konfigurationsdatei auf dem Datenträger C: zu erstellen, aber es hat keine Berechtigung, dies zu tun.

+0

Running Git Bash als Admin für mich gearbeitet. –

+0

Danke. Das Ausführen der Eingabeaufforderung als Administrator funktionierte für mich. Ich verstehe jedoch nicht, warum dieser zusätzliche Schritt, wenn der Benutzer, den ich gerade verwende, bereits ein Administrator ist. – ITWitch

4

Dies geschieht, wenn das Benutzerverzeichnis nicht vom Benutzer beschreibbar ist. git config --global muss eine "lock" -Datei (~/.gitconfig.lock) im Home-Verzeichnis des Benutzers erstellen.

Überprüfen Sie die Berechtigungen und versuchen Sie, eine zu erstellen.

# cat ~/.gitconfig.lock 
cat: /home/users/developer/.gitconfig.lock: No such file or directory 
# touch ~/.gitconfig.lock 

Wenn es erfolgreich ist, müssen Sie diese Datei

löschen Wenn nicht - Sie müssen für das Verzeichnis zu Hause überprüfen und ändern Sie die Rechte!

+0

Danke Ich hatte Probleme mit der Neukonfiguration und es würde nicht meinen Befehl als mein eigener Benutzer nehmen, wenn ich die Option --system und even benutze - obwohl ich alles in Umgebungsvariablen konfiguriert habe, funktionieren meine Befehle wie maven oder git nicht in der Admin Konsole während Java tut. Ich gab mir nur die Erlaubnis zu irgendetwas in Git, das ist keine gute Praxis, aber es funktioniert. –

1

Dies könnte durch das Vorhandensein von ~/.gitconfig.lock verursacht werden Es ist möglich, dass diese Datei ein Artefakt eines zuvor ausgeführten Git war, das aus irgendeinem Grund abgebrochen wurde, z. ansible Zeitüberschreitung oder^C

0

einfach den folgenden Befehl verwenden, wenn Sie Set-Konfiguration in der Systemebene wollen:

$ sudo git config --system user.name "my_name" 
Verwandte Themen