Ich habe ein privates Repository auf Github für ein Projekt, an dem ich arbeite. Bisher habe ich nur an meinem Heim-Desktop gearbeitet, aber ich habe gerade einen Laptop gekauft und versuche, ihn so einzurichten, dass ich von jedem Computer aus an dem Projekt arbeiten und Änderungen per Push / Pull vornehmen kann.
Ich habe meinem Github-Konto für den Laptop einen neuen SSH-Schlüssel hinzugefügt und konnte erfolgreich ein von mir eingerichtetes öffentliches Test-Repo klonen und ändern. Ich konnte das private Repo jedoch nicht klonen. Muss ich in der Befehlszeile etwas Besonderes tun, um ein privates Repo zu klonen? Muss ich ein neues GitHub-Konto für meinen Laptop einrichten und mich als Mitarbeiter einrichten?
Der Befehl, den ich benutzte, war git clone git://github.com/myusername/reponame.git
Antworten:
Private Klon-URLs haben die Form
[email protected]:username/repo.git
- vielleicht mussten Sie siegit@
eher verwenden alsgit://
?git://
URLs sind schreibgeschützt und es sieht so aus, als ob private Repos diese Form des Zugriffs nicht zulassen.quelle
Das hat bei mir funktioniert:
git clone https://[email protected]/username/repo_name
Dies geschah natürlich nach dem Hinzufügen meines SSH-Schlüssels zu Github . Ich habe dies auf einem CentOs-Server verwendet, falls dies erforderlich ist.
quelle
Das hat bei mir funktioniert:
quelle
git clone https://[email protected]/username/repo_name.git
Ich habe dieses Problem mehrmals getroffen und jedes Mal, wenn ich auf dieser Seite gelandet bin, habe ich alles versucht und bin gescheitert!
Es ist, weil ich 2FA aktiviert habe !!!
Laut https://help.github.com/articles/which-remote-url-should-i-use/#when-2fa-is-enabled
git clone https://github.com/username/repo_name.git
(Der Standard-Git-Repo-Link ist gut genug!)Aktualisieren:
Verwenden Sie
git config credential.helper store
(tun Sie dies nicht auf Maschinen, denen Sie nicht vertrauen)quelle
Mit Git für Windows ist es einfacher, die HTTPS-URL zu verwenden.
Öffnen Sie dann eine Git-Shell
git clone https://github.com/user/repo
. Geben Sie den Benutzernamen und das Passwort ein, wenn Sie dazu aufgefordert werden. Sie müssen keinen SSH-Schlüssel einrichten.quelle
Für mich war die Lösung:
Hier müssen Sie der Besitzer des Repos sein, aber wenn Sie es nicht sind, wird es so gehen
Wenn Sie
2FA enabled
dann haben:git clone https://[email protected]
Wenn Sie zur Eingabe eines Passworts aufgefordert werden, geben Sie dieses Token hier ein.
quelle
Ich habe ein (privates) Firmenkonto und eine aktivierte 2-Faktor-Authentifizierung, daher musste ich einige Beiträge kombinieren, damit es wie folgt funktioniert. (Aufschreiben, damit es für jemanden mit der gleichen Situation nützlich sein kann)
Installierte den Anmeldeinformations-Manager und aktualisierte die GIT wie hier erwähnt: https://codeshare.co.uk/blog/how-to-solve-the-github-error-fatal-httprequestexception-encountered/
Das Problem wurde dadurch nicht gelöst, da das Problem wie folgt verschoben wurde, als ich versuchte, den Befehl clone wie folgt zu verwenden:
Mein Passwort hatte ein $ -Symbol und aus irgendeinem Grund gefiel es der GIT-Befehlszeile / GIT Bash nicht. Ich kann dies an dem Fehler erkennen, bei dem der zurückgegebene Text nicht das $ -Symbol enthielt.
Ich musste auf diese Site verweisen: https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage
Jetzt wurde der Windows-Anmeldeinformations-Manager angezeigt. Ich gab meinen Benutzernamen und mein Passwort in die Textfelder ein (dies akzeptierte mein Passwort mit dem $ -Symbol) und forderte mich zur Eingabe eines 2-Faktor-Authentifizierungscodes auf. Ich habe den Authentifizierungscode von Google Authenticator eingegeben und der Klon wurde perfekt gestartet.
quelle
$
ist ein reserviertes Zeichen in Unix. Es markiert den Beginn des Abrufs eines Variablenwerts mit diesem Namen, der der Zeichenfolge entspricht, die auf das$
Symbol folgt .Beim Klonen von privaten Repos mit 2FA-Aktivierung müssen Sie einige einfache Schritte ausführen
quelle
Als Antwort auf die Antwort von Mac können Sie Ihre SSH-Klon-URL auf Ihrer Github-Repo-Seite abrufen, indem Sie
SSH
auf klickenYou can clone with HTTPS, SSH, or Subversion.
und die URL kopieren.quelle
Das hat bei mir auf dem Mac funktioniert
git clone https://[email protected]:username/repo_name
quelle
Zusätzlich zu MK Yungs Antwort: Stellen Sie sicher, dass Sie den öffentlichen Schlüssel für die Bereitstellung für das Repo zu den Bereitstellungsschlüsseln hinzufügen, wenn Sie keine 403 Forbidden-Antwort erhalten möchten.
quelle
Stellen Sie zunächst sicher, dass Sie einen SSH-Schlüssel haben, oder generieren Sie einen unter: https://help.github.com/articles/generating-ssh-keys/
Sobald Sie Ihren Schlüssel haben, müssen Sie ihn Ihrem Github-Konto unter folgender Adresse hinzufügen: https://github.com/settings/ssh
Für Windows-Benutzer ist es nützlich, git bash als Administrator auszuführen.
Jetzt sollte das Klonen für private Repositorys (Repo) funktionieren, ohne dass Sie Ihren Benutzernamen und Ihr Passwort eingeben müssen.
quelle
Ich brauchte eine nicht interaktive Methode zum Klonen eines privaten Repos.
Inspiriert von diesem Problem: https://github.com/github/hub/issues/1644
Schritt 1.
Erstellen Sie ein persönliches Zugriffstoken in den Einstellungen des Github-Entwicklers: https://github.com/settings/tokens
Schritt 2.
quelle
1) Versuchen Sie, den Befehl mit Benutzername und Passwort im folgenden Format auszuführen
Jetzt ist das Problem, wie andere hier erwähnt haben, wenn wir ein Sonderzeichen in unserem Passwort haben. Verwenden Sie in Javascript den folgenden Code, um das Kennwort mit Sonderzeichen in UTF-8-Codierung umzuwandeln.
Verwenden Sie jetzt dieses generierte Passwort anstelle eines mit Sonderzeichen und führen Sie den Befehl aus.
Hoffe, dieses Problem zu lösen.
quelle
Wenn der neu verwendete Computer über andere Anmeldeinformationen verfügt , wird dieser Befehl ausgeführt
direkt wird nicht funktionieren. Git versucht, die gespeicherten Anmeldeinformationen zu verwenden, und fordert Sie nicht zur Eingabe des Benutzernamens und des Kennworts auf. Da die Anmeldeinformationen nicht übereinstimmen, wird git ausgegeben
Repository not found
und der Klonvorgang schlägt fehl. Ich habe es gelöst, indem ich die alten Anmeldeinformationen gelöscht habe, da ich sie nicht mehr verwende, den oben genannten Befehl erneut ausgeführt und den erforderlichen Benutzernamen und das Kennwort eingegeben und das private Repo geklont habe.quelle
Wenn Sie versuchen, ein privates Repo aus dem Repo zu verwenden, müssen Sie dafür den Benutzernamen und das Passwort übergeben.
quelle
Fügen Sie Ihren öffentlichen Desktop-SSH-Schlüssel in Github hinzu.
https://github.com/settings/keys
Sie können das Repo ohne Passwort klonen.
quelle
Wenn Sie sicher sind, dass 2FA nicht aktiviert ist, Sie die Berechtigung zum Zugriff auf das Repo haben und das Repo vorhanden ist, ist Ihr [email protected] möglicherweise mit einem anderen Konto angemeldet.
um zu überprüfen, ob Sie tun können
Wenn ein anderes Konto angezeigt wird, beheben Sie dieses Problem:
quelle
unknown option -T
. Meine Git-Version ist2.7.4
ssh -T [email protected]
Wenn Sie es in erreichen möchten,
Dockerfile
hilft die folgende Zeile.Dann können wir mit dem folgenden Argument bauen.
quelle