2017-12-29 18 views
1

Ich habe vor kurzem ein öffentliches Repo eingerichtet, baute eine einfache App und alles funktionierte wie erwartet.Berechtigung verweigert auf `git push` nach der Übertragung Repo auf neue Github Organisation

Schließlich entschied ich, dass das Repo unter einer öffentlichen Organisation leben sollte, um Beiträge zu fördern. Also habe ich eine neue Organisation erstellt und dann den Repo an die neue Organisation übertragen. Ich bin als Besitzer (und einziges Mitglied) dieser Organisation eingerichtet.

I aktualisiert dann die remote auf meinem lokalen Verwendung:

git remote set-url [new org repo URL] 

A git remote -v zeigt die neue org Repo-URL.

Ich habe noch ein paar Änderungen vorgenommen (um die Links zum Repo in der README zu aktualisieren) und habe eine git push origin master vorgenommen, um die Änderungen auf den neuen Repo zu übertragen.

Und bekam:

remote: Permission to [new org repo URL] denied to [user]. 
fatal: unable to access 'https://[user]@[new org repo URL]': The requested URL returned error: 403 

A git pull origin master kehrt erfolgreich.

Ich habe auch versucht:

  • die Standardberechtigung geändert für die Mitglieder der org sowohl schreiben und Admin
  • mein lokaler Repo Gelöschte, dann aus der neuen org Repo-URL geklont, dann versuchte es noch einmal drücken
  • ein Team unter dem neuen org Erstellt, fügte dann die repo zu diesem Team mit Admin-Berechtigungen

Aber immer noch die Genehmigung abgelehnt Problem bekommen.

Welche Änderungen an git, repo und/or org muss ich noch vornehmen?

+0

Haben Sie sich selbst oder das Team, an dem Sie teilnehmen, den Mitarbeitern/Teams des entsprechenden Repositorys hinzugefügt? Wenn ja, wie hoch ist die Berechtigungsstufe, die Sie Ihrem Profil/Team für das entsprechende Repository zugewiesen haben? – rufer7

+0

@ rufer7 Ja, ich habe es versucht. Ich habe die Frage mit diesen Details aktualisiert. –

Antwort

1

In Ihrem Projektordner,

  • zu .git Ordner gehen und die config Datei bearbeiten.

  • url= Eintrag unter Abschnitt finden die URL ssh://[email protected][new org repo URL]

  • speichern Konfigurationsdatei [remote "origin"]

  • ändern und beenden.

Jetzt können Sie git push origin master tun und es sollte

EDIT

Mit ssh ist eine Alternative zu https arbeiten. Sie sollten nach einem GitHub-Benutzernamen und einem Passwort gefragt worden sein, als Sie Ihren Repo geklont haben (vorausgesetzt, Sie haben https verwendet). Wenn Sie die Zwei-Faktor-Authentifizierung aktiviert haben oder wenn Sie auf eine Organisation zugreifen, die SAML-Einzelanmeldung verwendet, müssen Sie ein persönliches Zugriffstoken angeben, anstatt Ihr Kennwort für HTTPS-Git einzugeben. Dieser Fehler kann auftreten, wenn Sie eine alte Version von git verwenden.

+0

Arbeitete für mich. Weißt du, warum diese Änderung erforderlich ist? –

+0

Ich habe meine Antwort bearbeitet. Bitte schau es dir an. –

1

Die Umstellung auf eine SSH-URL ist eine Umgehungslösung.
Aber in Bezug auf die HTTPS-URL, prüfen:

  • , wenn Ihr Konto 2FA activated
  • hat, wenn Sie ein Git Credential Helfer den Rückgabewert von git config-credential.helper überprüfen). Wenn ja, remove any GitHub entry, und versuchen Sie es erneut: Sie werden aufgefordert, Ihre GitHub-Anmeldedaten einzugeben (wenn Sie nicht über 2FA verfügen).
+0

Ich habe 2FA aktiviert, und es ging mir durch den Kopf, oder eine andere Sicherheitsmaßnahme, war der Schuldige. –

+0

@BrettDeWoody Mit 2FA benötigen Sie ein PTA (Personal Access Token) als Passwort: https://github.com/settings/tokens – VonC

Verwandte Themen