Berechtigungsfehler beim Einrichten von Git

1688

Hintergrund

Ich habe einen Linode VPS (Ubuntu 12.04 Server) und möchte Git verwenden, um meine Dateien vom VPS auf meinem lokalen Windows-Desktop zu verwalten.

Ich habe Git Bash installiert und benutze das auf Windows / Local.

Ich bekomme weiterhin den Fehler:

 Fatal: Could not read from remote repository Please make sure you have the correct access rights and the repository exists. 

Wenn ich versuche, ein Remote-Repo zu pushen, habe ich hinzugefügt.

Kann jemand meinen Prozess überprüfen und mir genau sagen, was für die richtigen Zugriffsrechte erforderlich ist?

Repository-Setup

Zuerst habe ich einen gitBenutzer erstellt und in eine Gruppe mit dem Namen "Benutzer" eingefügt gitgroup. Ich habe SSH-Schlüssel eingegeben und kann mich ohne Passwort einloggengit@server.domain.com

Ich möchte mein Repo behalten /srv/git/, also habe ich ein Verzeichnis erstellt /srv/git/myrepo.

Im Verzeichnis habe ich den Befehl ausgeführt git init --bare.

Auf meinem lokalen Computer habe ich ein Verzeichnis mit dem Namen erstellt git-localund git initdarin ausgeführt. Es sagt, dass es das Master-Repo ist.

Nun rufe ich Git Bash in meinem git-localVerzeichnis auf. Ich versuche, ein Remote-Repo hinzuzufügen:

$ git remote add myrepo git@server.domain.com:/srv/git/myrepo/ 

Das funktioniert ohne Fehler.

Ich habe zuvor eine HTML-Datei erstellt und sie zu meinem lokalen Master-Repo hinzugefügt.

Ich fordere Git auf, die Änderungen zu pushen:

$ git push myrepo master 

Dies gibt den oben beschriebenen Fehler zurück.

Berechtigungen

Der Benutzer gitist der Besitzer und Urheber von /srv/var/git/myrepo. Die Gruppe gitgroupist der Eigentümer von /srv/var/git(wurde erstellt von root).

Was vermisse ich?

2
yep entschuldige das. Ich verwende offensichtlich meinen tatsächlichen Serverhostnamen und meinen tatsächlichen Domänennamen. vor 11 Jahren 0
Wie lauten die genauen Berechtigungen für dieses Verzeichnis? Haben alle Eltern das * relevante * x (Ausführen) -Bit für den Benutzer "git" oder die Gruppe "gitgroup" gesetzt, je nachdem, was zutreffend ist? (Möglicherweise möchten Sie die Berechtigungen dieser Verzeichnisse hier veröffentlichen - dh, ls -ld / srv / srv / var / srv / var / git / srv / var / git / myrepo` ausführen und die Ausgabe veröffentlichen -, damit wir die Gültigkeit prüfen können sie.) Liefert letztendlich "git push --verbose" mehr Informationen? Thanatos vor 11 Jahren 1

1 Antwort auf die Frage

3
milkovsky

Diese Lösung hat mir geholfen:

cd ~/.ssh chmod 600 *