2012-04-01 7 views
1

Klonen Ich habe vor kurzem ein Webprojekt git-ified. Following this guide, habe ich /home/mt33 einen nackten Repo in meinem Home-Verzeichnis, die für den Klon sitzt in www/ als Hub fungiert. Dann klonte ich das leere Repo (kein funktionierender Baum) auf meinem lokalen Rechner, mache meine Änderungen, Commit und push origin master sie auf dem Server. Das Post-Update-Skript auf dem leeren Repo kümmert sich dann um cd um den www/ Klon und zieht alle Änderungen. Das alles funktioniert großartig.ein Repo aus meinem Home-Verzeichnis

Ich mag einen zweiten Entwickler hinzufügen, aber er ist nicht in der Lage aus dem nackten Repo in meinem Home-Verzeichnis sitzen zu klonen. Also habe ich den Sysadmin gebeten, Gruppenlese-, Gruppenschreib- und Gruppenausführungsberechtigungen zu meinem Heimatverzeichnis hinzuzufügen und den zweiten Entwickler zu meiner Gruppe hinzuzufügen. Konsequenterweise bestätigte er, dass er SSH zum Server und cd ins Home-Verzeichnis, sowie den Inhalt des repo.git-Verzeichnisses sehen kann. Hier ist, was er sieht:

drwxrwxr-x 7 mt33 mt33 4096 2012-03-07 19:10 repo.git

Als er versucht

git clone [email protected]:/home/mt33/repo.git my_directory zu klonen mit bekommt er den Fehler

fatal: '/home/mt33/repo.git' does not appear to be a git repository fatal: The remote end hung up unexpectedly

An diesem Punkt bin ich nicht sicher, was zu tun ist. .. Ist das bloße Repo in meinem Home-Verzeichnis ein Problem? Alle Zeiger geschätzt ...

Antwort

1

Sie müssen möglicherweise auch diese Berechtigungen für die Dateien innerhalb/home/mt33/repo.git hinzufügen.

chmod -R g+rwx /home/mt33/repo.git 

(Vergewissern Sie sich auch sharedRepository=true in der config-Datei legen Sie die Berechtigungen für die Zukunft richtig zu bewahren.)

+0

Fantastisch. Hatte nicht daran gedacht. Prost! – mt33

0

Versuchen Sie, Ihren zweiten Entwickler-Klon von dem Ort www hat. Wenn das funktioniert (lass ihn nicht pushen :-), dann gibt es alternative Workflows, die du benutzen könntest (als Workaround zu deinem eigentlichen Problem) und du könntest etwas über ssh/git-Setup lernen.