web-dev-qa-db-de.com

Klonen eines privaten Repos von Github

Ich habe ein privates Repository auf Github für ein Projekt, an dem ich gerade arbeite. Bis jetzt hatte ich nur an meinem Home-Desktop gearbeitet, aber ich habe gerade einen Laptop gekauft und versuche, ihn so einzurichten, dass ich entweder an einem Computer an dem Projekt arbeiten und Push/Pull-Änderungen vornehmen kann. 

Ich fügte meinem Github-Konto einen neuen SSH-Schlüssel für den Laptop hinzu und war beim Klonen und Ändern von Änderungen an einem von mir eingerichteten öffentlichen Test-Repo erfolgreich. Ich konnte das private Repo jedoch nicht klonen. Gibt es etwas Besonderes, das ich in der Kommandozeile tun muss, 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 verwendete, war git clone git://github.com/myusername/reponame.git

155
Solomon

Private Klon-URLs haben die Form [email protected]:username/repo.git - Vielleicht mussten Sie [email protected] anstelle von git:// verwenden?

git://-URLs sind schreibgeschützt und es scheint, als würden private Repos diese Form des Zugriffs nicht zulassen.

137
mac

Das hat für mich funktioniert:

git clone https://[email protected]/username/repo_name

Dies war natürlich nach das Hinzufügen meines SSH-Schlüssels zu Github . Ich habe dies auf einem CentOs-Server verwendet, falls dies erforderlich ist. 

107
charlchad

Das hat für mich funktioniert:

git clone https://username:[email protected]/username/repo_name.git
32
izik f

Wenn Sie Git für Windows verwenden, ist es einfacher, HTTPS-URLs zu verwenden.

Öffnen Sie eine Git-Shell und git clone https://github.com/user/repo. Geben Sie den Benutzernamen und das Kennwort ein, wenn Sie dazu aufgefordert werden. Sie müssen keinen SSH-Schlüssel einrichten.

17
Gustavo Coelho

Um Himmels willen habe ich diese Ausgabe mehrmals getroffen und jedes Mal, wenn ich auf dieser Seite gelandet bin, habe ich alles ausprobiert 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

Wenn Sie Zwei-Faktor-Authentifizierung aktiviert haben oder auf eine Organisation zugreifen, die einmaliges Anmelden mit SAML verwendet, müssen Sie stattdessen ein persönliches Zugriffstoken bereitstellen zur Eingabe Ihres Passworts für HTTPS Git.

  1. Folgen Sie dieser Link und erstellen Sie ein Zugriffstoken
  2. git clone https://github.com/username/repo_name.git (Der Standard-Git-Repo-Link ist gut genug!)
  3. Geben Sie Ihren Benutzernamen ein und verwenden Sie das Zugriffstoken als Passwort!

Aktualisieren:

Wenn Sie nichts dagegen haben, Ihr Zugriffstoken in der Befehlszeile verfügbar zu machen, können Sie das Zugriffstoken auch als Benutzernamen einfügen und dann die Eingabetaste drücken (kein Passwort erforderlich).

17
lzl124631x

Als Antwort auf die Antwort von mac können Sie Ihre SSH-Klon-URL auf Ihrer Github-Reposeite abrufen, indem Sie auf SSH unter You can clone with HTTPS, SSH, or Subversion. klicken und die URL kopieren.

5
MK Yung

Stellen Sie zunächst sicher, dass Sie über einen SSH-Schlüssel verfügen, oder generieren Sie ihn unter: https://help.github.com/articles/generating-ssh-keys/

Sobald Sie Ihren Schlüssel haben, müssen Sie ihn Ihrem github-Konto hinzufügen: https://github.com/settings/ssh

Für Windows-Benutzer ist es nützlich, git bash als Administrator auszuführen.

Das Klonen sollte nun für private Repositorys (Repo) funktionieren, ohne dass Sie Ihren Benutzernamen und Ihr Kennwort eingeben müssen.

3
gcamargo

Zusätzlich zur Antwort von MK Yung: Stellen Sie sicher, dass Sie den öffentlichen Schlüssel für die Bereitstellung für die Bereitstellungsschlüssel für das Repo hinzufügen, wenn Sie keine Bereitstellung von 403 Forbidden wünschen.

3
pgcd

Für mich war die Lösung:

git clone https://[email protected]

Hier ist eine Sache, die sich von der Antwort von @charlchad unterscheidet 

git clone https://[email protected]/username/repo_name

Hier müssen Sie der Besitzer des Repos sein, aber wenn nicht, dann geht es weiter

git clone https://[email protected]/ownersusername/repo_name.git
3
Black Mamba

Dies funktionierte für mich auf Mac git clone https://[email protected]:username/repo_name

2
Usman Hussain

Wenn der neu verwendete Computer über andere Anmeldeinformationen verfügt, die diesen Befehl ausführen 

git clone https://github.com/benutzername/reponame.git

direkt wird nicht funktionieren. Git versucht, die gespeicherten Anmeldeinformationen zu verwenden, und fordert Sie nicht zur Eingabe des Benutzernamens und des Passworts auf. Da die Anmeldeinformationen nicht übereinstimmen, gibt git Repository not found aus und die Klonoperation schlägt fehl. Ich habe das Problem gelöst, indem ich die alten Anmeldeinformationen löschte, da ich sie nicht mehr benutze, den oben genannten Befehl erneut ausführte und den erforderlichen Benutzernamen und das Kennwort eingab und das private Repo klonierte. 

1
Amjad

Ich habe ein Firmenkonto (Privatkonto) und die 2-Faktor-Authentifizierung aktiviert. Daher musste ich einige Einträge kombinieren, damit es wie unten beschrieben funktioniert. (Notieren, damit es für jemanden mit derselben Situation nützlich sein kann)

Initially it was the Fatal Error. 
fatal: repository 'https:
...
remote: Repository not found.
fatal: repository 'https:

Installierte den Credential Manager und aktualisierte GIT wie hier erwähnt: https://codeshare.co.uk/blog/how-to-solve-the-github-error-fatal-httprequestexception-decountered/

Dies löste das Problem nicht, da das Problem nach unten verschoben wurde, als ich den Befehl clone wie folgt versuchte:

$ git clone https://<username>:<password>@github.com/<ORG_NAME>/<PROJECT-NAME>.git

remote: Invalid username or password.
fatal: Authentication failed for 'https://

Mein Passwort enthielt das $ -Symbol und aus irgendeinem Grund gefiel es der GIT-Befehlszeile/GIT Bash nicht. Ich kann dies auf dem Fehler sehen, der zurückgegeben wurde und der das $ -Symbol nicht enthielt. 

fatal: Authentication failed for 'https://<username>:<password-missing-$-symbol>@github.com/<ORG_NAME>/<PROJECT-NAME>.git'

Ich musste auf diese Site verweisen: https://git-scm.com/book/de/v2/Git-Toolss-Credential-Storage

Bitte beachten Sie: Wenn für Ihr Konto ein falsches Passwort in .__ gespeichert ist. Windows Credential Manager Es wird auch das Problem hinzufügen. ICH Der auf diese Weise gespeicherte github-Berechtigungsnachweis wurde entfernt, bevor mit dem folgenden Schritt fortgefahren wird.

$ git config --global credential.helper cache
$ git clone https://<username>:<password>@github.com/<ORG_NAME>/<PROJECT-NAME>.git

Nun erschien der Windows Credential Manager. Ich habe meinen Benutzernamen und mein Passwort in die Textfelder eingegeben (Dies hat mein Passwort mit dem $ -Zeichen akzeptiert) und ich habe nach einem 2-Factor-Authentifizierungscode gefragt. Ich habe den Authentifizierungscode von Google Authenticator eingegeben und der Klon ist perfekt gestartet.

1
oneworld

Fügen Sie Ihren öffentlichen öffentlichen SSH-Schlüssel in Github hinzu.

https://github.com/settings/keys

Sie können das Repo ohne Kennwort klonen.

0
Kishore Relangi

Ich brauchte eine nicht interaktive Methode zum Klonen eines privaten Repos.

Inspiriert von dieser Ausgabe: https://github.com/github/hub/issues/1644

Schritt 1.

Erstellen Sie ein persönliches Zugriffstoken in den github-Entwicklereinstellungen: https://github.com/settings/tokens

Schritt 2.

git clone https://$token:[email protected]/$username/$repo.git
0
cnash