457 Stimmen

Klonen eines privaten Repositorys (Github)

Ich habe ein privates Repository auf Github für ein Projekt, an dem ich gerade arbeite. Bis jetzt habe ich nur auf meinem heimischen Desktop gearbeitet, aber ich habe gerade einen Laptop gekauft und versuche, es so einzurichten, dass ich von beiden Computern aus an dem Projekt arbeiten und Änderungen pushen/ziehen kann.

Ich habe einen neuen SSH-Schlüssel zu meinem Github-Konto für den Laptop hinzugefügt und konnte ein öffentliches Test-Repository, das ich eingerichtet hatte, klonen und Änderungen daran vornehmen. Allerdings konnte ich das private Repository nicht klonen. Gibt es irgendetwas Besonderes, das ich in der Befehlszeile tun muss, um ein privates Repository zu klonen? Muss ich ein neues GitHub-Konto für meinen Laptop einrichten und mich selbst als Mitarbeiter einrichten?

Der von mir verwendete Befehl lautete git clone git://github.com/username/reponame.git

360voto

Apr, 2022 Update:

Sie können ein privates Repository von Ihrem Konto klonen und Sie können auch ein privates Repository von einer Organisation klonen wenn Sie sein Eigentümer oder Mitglied .

* pat es PAT (Persönlicher Zugangstoken) .

git clone https://<pat>@github.com/<your account or organization>/<repo>.git

Um ein privates Repository von Ihrem Konto oder Ihrer Organisation zu klonen, müssen Sie ein PAT (Personal Access Token) in Ihrem Github-Konto generieren und es dem obigen Befehl hinzufügen. *Organisationen haben keinen PAT-Generator.

So erzeugen Sie ein PAT in Ihrem Github-Konto:

1, Gehe zu "Einstellungen" :

enter image description here

2, Scrollen Sie nach unten und gehen Sie zu "Entwickler-Einstellungen" :

enter image description here

3, Presse "Persönliche Zugangstoken" dann drücken Sie "Neuen Token generieren" :

enter image description here

4, Füllen Sie "Hinweis" dann prüfen "Repo" :

* Si "Repo" nicht angekreuzt ist, können Sie ein privates Repository nicht klonen.

enter image description here

5, Blättern Sie nach unten und drücken Sie "Token generieren" :

enter image description here

6, Schließlich wird ein PAT erzeugt wird:

enter image description here

Dies ist der Befehl mit das oben erzeugte PAT :

git clone https://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@github.com/<your account or organization>/<repo>.git

294voto

charlchad Punkte 2907

Das hat bei mir funktioniert:

git clone https://username@github.com/username/repo_name

247voto

mac Punkte 2380

Private Klon-URLs haben die Form git@github.com:username/repo.git - vielleicht mussten Sie die git@ statt git:// ?

git:// URLs sind schreibgeschützt, und es sieht so aus, als ob private Repos diese Form des Zugriffs nicht erlauben.

163voto

lzl124631x Punkte 4035

Ich bin schon mehrmals auf dieses Problem gestoßen und jedes Mal bin ich auf dieser Seite gelandet, habe alles versucht und bin gescheitert!

Es liegt daran, dass ich 2FA aktiviert habe!!!

Nach Angaben von https://help.github.com/articles/which-remote-url-should-i-use/#when-2fa-is-enabled

Wenn Sie Folgendes aktiviert haben Zwei-Faktor-Authentifizierung oder wenn Sie auf eine Organisation zugreifen, die SAML-Einzelanmeldung müssen Sie ein persönliches Zugangstoken bereitstellen anstatt Ihr Passwort für HTTPS Git einzugeben.

  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!!

Aktualisierung:

  • Wenn es Ihnen nichts ausmacht, Ihr Zugriffs-Token in der Befehlszeile preiszugeben, können Sie auch das Zugriffs-Token als Benutzernamen einfügen und dann die Eingabetaste drücken (kein Passwort erforderlich).
  • Sie hassen es, das Zugriffstoken immer wieder zu kopieren und einzufügen?
    Verwenden Sie git config credential.helper store (tun Sie dies nicht auf einem Rechner, dem Sie nicht vertrauen)

102voto

izik f Punkte 2159

Das hat bei mir funktioniert:

git clone https://username:password@github.com/username/repo_name.git

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X