web-dev-qa-db-de.com

Wie kann ich den Schreibzugriff auf ein entferntes Git-Repository überprüfen ("Kann ich einen Push ausführen?")

Ich baue einen (etwas eingeschränkten) Git-Client. Um ein Repository einzurichten, geben Sie die URL zum Remote-Repository ein. Ich möchte überprüfen, ob der Benutzer Lese- und Schreibzugriff auf dieses Repository hat. Wenn nicht, präsentiere ich einen Authentifizierungsdialog.

Ich überprüfe 'Lesezugriff' mit git ls-remote <url>.

Gibt es eine analoge Möglichkeit, Schreibzugriff zu überprüfen, ohne zuerst das Repo zu klonen? (Ich weiß, ich könnte git clone <url> und dann git Push --dry-run)

60
Yang Meyer

Wenn sich das Git-Repo in Github befindet, öffne eine beliebige Datei im Repo und klicke dann auf "Bearbeiten". Github zeigt dann etwa Folgendes an:

Sie bearbeiten eine Datei in einem Projekt, auf das Sie keinen Schreibzugriff haben. Wir haben für Sie eine Abzweigung dieses Projekts erstellt, an der Sie Ihre vorgeschlagenen Änderungen vornehmen können. Wenn Sie eine Änderung an dieser Datei vornehmen, wird diese in eine neue Verzweigung in Ihrer Abzweigung geschrieben, sodass Sie hier einen Code für pull request.enter senden können

37
guyskk

Du darfst git Push git+ssh://Host.org/path/to/repo some_ref ohne zu klonen. Aber siehe meinen Kommentar oben

2
user3159253