2013-01-02 16 views
19

Ich bin völlig fest, warum mein Git hat mich völlig ausgeschlossen. Ich habe einen Laptop, den ich bei der Arbeit benutze und wenn ich zuhause bin. Für beide Accounts verwende ich git ausgiebig und beide befinden sich in verschiedenen Pfaden. Heute kam ich in Arbeit, und ich kann nichts tun, alles, was ich sehe, ist:remove .git/index.lock ': Berechtigung verweigert

/Applications/MAMP/htdocs/my_site/.git/index.lock': Permission denied 

Von mir den Zweig ich bin, können gelöscht werden. Ich habe versucht, den Zweig zu entfernen, irgendeinen anderen Zweig auszuprobieren und die index.lock Datei zu entfernen (wie von anderen Benutzern auf Aufstellungsorten vorgeschlagen). Ich habe nur das Terminal-Fenster geöffnet, keine anderen möglichen Programme mit git (soweit ich weiß und nichts im Aktivitätsfenster auffällt). Ich habe den Computer direkt in meinem Arbeitskonto neu gestartet und immer noch kein Glück. Wie kann ich dieses Schloss entfernen?

+0

Was ist die Berechtigungsmaske und die Eigentümerschaft für '.git' und' .git/index.lock'? – cdhowie

Antwort

11

Überprüfen Sie, welche Benutzer den git Sperre besitzt:

ls -la /Applications/MAMP/htdocs/my_site/.git/index.lock 

Dann können Sie sudo verwenden, es zu entfernen.

+0

Wow ....... hab es geschafft, deine Kommentare haben mich anders aussehen lassen, Danke :) Während der Weihnachtsferien habe ich MAMP gratis auf PRO zuhause (home account) aufgerüstet und als ich heute Morgen zur Arbeit kam in meinem arbeitskonto angemeldet habe ich nicht bemerkt, dass alles unter my_site in mein home account geändert wurde, so dass mein work account für alle git-befehle nicht mehr zugänglich ist. Ich habe es notiert und jetzt funktioniert es. Vielen Dank. – user1760561

6

Nach der Aktualisierung von xcode werden Sie möglicherweise aufgefordert, der neuen Lizenz zuzustimmen.

git init

Die Zustimmung zu dem Xcode/iOS Lizenz erfordert Administratorrechte, bitte als root über sudo erneut ausführen.

Wenn Sie das tun

sudo git init

Sie ein Root-Benutzer bekommen .git dir

drwxr-xr-x 10 Wurzel XXXX 340 25 Sep 12:40 .git

Wenn Sie andere Git-Befehle aufrufen, die Dateien erstellen, werden diese Dateien auch für den Benutzer root erstellt.

Ändern Sie die Berechtigungen oder entfernen Sie .git, wenn Sie es noch nicht benötigen.

=> Rufe niemals git mit sudo !!! Wenn Ihr gefragt werden, nur auf ein leeres Verzeichnis git zu nennen

mkdir foo

cd foo

sudo git init

22

ich genau das gleiche Problem zu wollen hatte begehen meine Änderungen an git, und löste es auf diese Weise:

  • Ich musste die Gruppe meines .git-Ordners und seines Inhalts ändern:

    sudo chown -R:.git

  • benötigt, um die Erlaubnis dieses Ordners zu ändern:

    sudo chmod -R 775 .git

+0

Diese Lösung funktionierte für fatal: "/Users/Shared/Jenkins/Home/jobs/FMS-UI-Automation/.git/index.lock" konnte nicht erstellt werden: Fehler bei der Berechtigung verweigert. – vikramvi

1

ich das gleiche Problem erlebt, wenn man versucht die Submodule meine Repo zu aktualisieren:

$ git submodule update 
fatal: Unable to create '.../.git/modules/deps/luajit/index.lock': 
    Permission denied 
Unable to checkout '04dc64b558025e76a820f89a8e41840bf8269f32' in 
    submodule path 'deps/luajit' 

Es scheint, das Problem war die Submodule zu einem anderen Benutzer gehört, so dass ich das Eigentum zurück zu mir:

cd .git/modules/ 
chown -R dpino.dpino * 

Bei diesem Schnipsel Anwendung, merken Sie sich Ihre eigenen Benutzer und Gruppechown -R user.group * zu verwenden.

Verwandte Themen