Git Clone - Repository nicht gefunden


96
git clone <url>

gibt die Nachricht fatal: Repository 'URL' nicht gefunden

Ich habe die Optionen im Link ausprobiert , aber es hat nicht funktioniert.


sicherlich muss Ihre URL ungültig sein ..
g-newa

2
Ist es ein privates oder ein öffentliches Repo? - Wenn dies der Fall ist, versuchen Sie, die HTTPS-Adresse anstelle der GIT-Adresse zu verwenden. (Ich hoffe, dass Sie nicht tun, was @JohnZwinck gesagt hat ...)
Appostolis

Wenn das Repo öffentlich ist, können Sie Ihre Frage bearbeiten, um die entsprechende URL hinzuzufügen?
Jub0bs

Hallo Jubos, es ist ein privates Repo und ich habe den Zugang zu diesem Repo.
Max

22
Ich sah mich einer ähnlichen Situation gegenüber. Die URL, die ich für mein privates Repository verwendet habe, war korrekt. Aber ich bekam den gleichen Fehler. Nach langem Graben stellte ich fest, dass im Schlüsselbund (ich verwende Mac Yosemite) der Eintrag für github.com das alte Passwort für github hatte. Ich habe den Eintrag aus dem Schlüsselbund gelöscht und dann den Befehl git clone ausgeführt. Es fragte meinen Github-Benutzernamen / Passwort und Wallah, der Klon funktionierte!
Shirish Kumar

Antworten:


26

Höchstwahrscheinlich ist Ihre URL ungültig.

Wenn es sich um eine http / https-URL handelt, können Sie dies schnell überprüfen, indem Sie die URL in einen Browser hämmern. Wenn dadurch überhaupt nichts angezeigt wird, wissen Sie, dass die URL ungültig ist.

Ich gehe davon aus, dass Sie von einem Remote-Repository sprechen. Die URLs sollten ungefähr so ​​aussehen:

https://github.com/user/repo2.git if you're using HTTPS
git@github.com:user/repo2.git if you're using SSH

Es wird im Browser richtig angezeigt, funktioniert aber nicht, wenn ich einen Klon nehme
Chandni

304

Wie von anderen erwähnt, kann der Fehler auftreten, wenn die URL falsch ist.

Der Fehler kann jedoch auch auftreten, wenn das Repo ein privates Repo ist und Sie keinen Zugriff oder falsche Anmeldeinformationen haben.

Anstatt

git clone https://github.com/NAME/repo.git

Versuchen

git clone https://username:password@github.com/NAME/repo.git


Sie können auch verwenden

git clone https://username@github.com/NAME/repo.git

und git werden zur Eingabe des Passworts aufgefordert (danke an leanne für die Angabe dieses Hinweises in den Kommentaren).


2
Danke - das war nützlich. Ich bin nur auf einem meiner Systeme auf dieses Problem gestoßen, kann aber nicht herausfinden, warum. Die 2. Methode funktioniert, aber ich bin gespannt, warum und ob ich diese weiterhin verwenden muss. Was würde das Problem mit dem ersten Befehl verursachen, aber nicht mit dem zweiten?
Levon

4
Unter Mac OS X können Sie Benutzername und Passwort im Schlüsselbund speichern (z. B. für GitHub). Dann brauchen Sie den zweiten Befehl nicht. Wenn Sie so etwas nicht haben, benötigen Sie den zweiten Befehl.
Christian Fries

3
@CCJ, ja: Sie können alles in den Befehl eingeben, außer das :password, und git fordert zur Eingabe des Passworts auf. Zum Beispiel:git clone https://username@github.com/NAME/repo.git
Leanne

1
@ChristianFries Es wäre fantastisch, wenn Sie Ihre Antwort aktualisieren könnten, um die Option "Nicht passwortgeschützt" in Leannes Kommentar für zukünftige Leser aufzunehmen.
John Pavek

1
@ JohnPavek: Fertig.
Christian Fries

44

Unter macOS ist es möglich, dass die zwischengespeicherten Anmeldeinformationen im Schlüsselbund, die git abruft, falsch sind. Es kann sich um ein veraltetes Kennwort handeln oder um die Verwendung falscher Anmeldeinformationen.

So aktualisieren Sie die in OS X Keychain gespeicherten Anmeldeinformationen

Befolgen Sie die Anweisungen unter:

https://help.github.com/articles/updating-credentials-from-the-osx-keychain/

Wenn Sie überprüfen möchten, ob dies das Problem ist, können Sie den Klon mit Ablaufverfolgung ausführen.

$ GIT_CURL_VERBOSE=1 git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY

Suchen Sie nach der Kopfzeile "Authorization: Basic BASE64STRING".
Nehmen Sie den base64-String und dekodieren Sie ihn, um zu überprüfen, welcher Benutzername: Passwort verwendet wurde.

$ echo <the key> | base64 --decode

Stellen Sie sicher, dass es sich um das richtige Benutzername-Passwort handelt, das Sie voraussichtlich verwenden werden.


Ich versuche dies und es gibt mir den Benutzernamen / das Passwort für mein anderes Konto. Ich denke, ich muss den Benutzernamen angeben ...
Nicolas Miari

Diese GIT_CURL_VERBOSE = 1 ist wahnsinnig hilfreich - danke!
Mistertee

Wenn Sie feststellen, dass Ihr Benutzername / Passwort nicht korrekt ist, wie können Sie git dazu bringen, einen anderen zu verwenden?
Toancaro

21

Ich hatte auch das gleiche Problem. Ich habe versucht, das Repo zu klonen, das privat war, und mein in osx installiertes Git hat einen Schlüsselbund, mit dem ich das Repo nicht klonen konnte ...

Ich habe es versucht

git clone https://username:password@github.com/NAME/repo.git 

aber es hat nicht funktioniert, da mein Passwort das Feld @ enthielt.

Ich bin gerade gelaufen

git credential-osxkeychain erase
host=github.com
protocol=https

Befehl und drücken Sie die Eingabetaste und es hat einwandfrei funktioniert. Eigentlich müssen Sie den bereits im osx gespeicherten Schlüsselbund entfernen.


20

Ich hatte das gleiche Problem ( Repository not found) aufgrund der Tatsache, dass ich mich anfangs mit einem falschen GitHub-Konto angemeldet habe. Etwas reparieren:

  1. Öffnen Sie die Systemsteuerung über das Startmenü.
  2. Wählen Sie Benutzerkonten.
  3. Wählen Sie im Menü auf der linken Seite "Anmeldeinformationen verwalten".
  4. Löschen Sie alle Anmeldeinformationen für Git oder GitHub.

1
Dies löste das Problem für mich. Ich habe mehrere Github-Konten, daher werden in Windows manchmal die Git-Anmeldeinformationen für das andere Konto im Windows-Anmeldeinformations-Manager zwischengespeichert. Durch das Löschen des zwischengespeicherten Kontos kann dieses Problem behoben werden.
Grizzly Peak Software

Dieses falsche (zwischengespeicherte) Konto hat möglicherweise keine Berechtigung zum Anzeigen des Repositorys. Daher gibt Github / Gitlab den Fehler 404 Not Found zurück.
mrdaliri

404 anstelle eines nicht autorisierten Fehlers. Diese Fehlermeldung ist irreführend. Danke für Ihre Hilfe. Es funktioniert auch bei mir :)
Diallo

19

Für mich

git clone https://username@github.com/name/repo.git

hat funktioniert.

Ich denke, dies geschieht hauptsächlich, weil auf Private Repo nicht direkt zugegriffen werden kann.


18

Was mein Problem gelöst hat, da ich den Fehler "Redirect / Sign_in URL" oder "Repository nicht gefunden" hatte

MacOS-Benutzer:

  1. Scheinwerfer öffnen (Befehlsraum)
  2. Geben Sie keychain ein (Open keychain access.app)
  3. Suche nach Repo-Domain (GitHub, GitLab usw.)
  4. Löschen Sie alle Schlüssel zu dieser Domain
  5. Versuchen Sie erneut zu klonen (mit gültigen Anmeldeinformationen).

Windows-Benutzer sollten ähnliche Schritte ausführen, aber der Schlüsselbund ist stattdessen der Anmeldeinformations-Manager von Microsoft oder Windows-Anmeldeinformationen, abhängig von Ihrer Betriebssystemversion. Stellen Sie sicher, dass Sie sowohl die Web- als auch die Windows-Anmeldeinformationen bereinigen, wenn dies der Fall ist.


Dies hat möglicherweise mein Problem behoben, nicht ganz sicher, da es zunächst keine Auswirkungen zu haben schien, aber später, ohne weitere Änderungen vorzunehmen, begann alles wieder zu funktionieren.
patrick.elmquist

wenn Sie zwei oder mehr Tasten Kette Name Gitlab enthält , und Sie sind nicht in der Lage alles in einem löschen gehen dann versuchen , einen nach dem anderen zu löschen (Löschen einer nach dem anderen und in der Nähe Schlüsselanhänger Abschnitt und wiederholen Sie für die nächste).
Jitendra

Beste Antwort für mich. Ich habe mit diesen Schritten behoben, danke
Hardik Joshi

15

Wenn Sie unter Windows arbeiten, das Repository privat ist und einmal andere oder nicht mehr korrekte Anmeldeinformationen gespeichert wurden, haben Sie keinen Zugriff auf das Repo. Sie erhalten den nicht gefundenen Fehler, ohne auf die Richtung für fehlgeschlagene Anmeldeinformationen hinzuweisen. Um die Anmeldeinformationen unter Windows zurückzusetzen, öffnen Sie die Systemsteuerung (Win + r-Steuerung) und wählen Sie Benutzerkonten und Anmeldeinformations-Manager. Suchen Sie das Git-Konto in den Windows-Anmeldeinformationen (nicht in den Web-Anmeldeinformationen!) Und löschen Sie diesen Eintrag.

Danach wird beim Klonen ein Anmeldedialog angezeigt, den Sie erneut festlegen können.

Getestet mit git-bash als Shell in VSCode


Du bist großartig, hast mein Leben gerettet
Khan Farman

Legende rettete mein Leben.
Eli Chen

9

Auf github können Sie das Haupt-Repository und die Unterordner haben. Stellen Sie sicher, dass die von Ihnen verwendete URL die des Hauptrepositorys und nicht die eines Ordners ist. Ersteres ist erfolgreich und letzteres erzeugt den Fehler "Repository nicht gefunden". Wenn Sie Zweifel haben, dass Sie sich in einem Unterordner befinden, navigieren Sie in der Repository-Kette nach oben, bis Sie eine Seite finden, auf der die https-URL angegeben ist, und verwenden Sie diese.


1
Das war mein Problem. Wenn Sie die richtige Ebene haben, sollten Sie die Clone or DownloadSchaltfläche auf der Github-Seite für die URL sehen. Wenn es nicht da ist, können Sie es nicht klonen.
Stephen Hosking

9

Wenn Sie für Ihr Github-Konto eine Zwei-Faktor-Autorisierung (2FA) verwenden, verwenden Sie einfach die SSH-Option zum Klonen Ihres Repositorys:

Geben Sie hier die Bildbeschreibung ein


7

git clone https://username@github.com/User/Repository.git fordert zur Eingabe eines Passworts auf und klont dann.


4

Dies geschieht, weil mein alter Sitzungsstatus eines anderen Benutzers erhalten bleibt: Nachfolgend finden Sie eine schnelle Lösung für Windows-Benutzer:

Öffnen Sie die Systemsteuerung über das Startmenü. Wählen Sie Benutzerkonten aus. Wählen Sie im linken Menü "Anmeldeinformationen verwalten". Löschen Sie alle Anmeldeinformationen für Git oder GitHub

Sobald ich das getan hatte, fing es an, für mich zu arbeiten.


3

Dieses Problem trat auf meinem Terminal auf, nachdem ich GitHub 2FA aktiviert hatte .

Jetzt tritt dieses Problem immer dann auf, wenn ich ein privates Repository klone. Dieser Fehler:

remote: Repository nicht gefunden.
fatal: Repository ' https://github.com/kmario23/repo-name.git/ ' nicht gefunden

ist so umständlich. Natürlich habe ich dieses Repo und ich bin der Besitzer davon.

Wie auch immer, es scheint, dass das Update jetzt ist, dass wir den GitHub noch usernameeinmal betreten müssen, wenn wir ein privates Repo klonen. Unten ist ein Beispiel:

                             add your username
                                |-------|
$ git clone --recursive https://kmario23@github.com/kmario23/repo-name.git

1
Mein Problem wurde gelöst.
Danke


0

Möglicherweise müssen Sie eine leere Datei mit dem Namen git-daemon-export-okim Repository-Verzeichnis erstellen .


0

Wenn Sie cygwin für git verwenden und versuchen, ein git-Repository von einem Netzwerklaufwerk zu klonen, müssen Sie den Pfad für cygdrive hinzufügen.

Zum Beispiel, wenn Sie ein Git-Repo von z: / klonen

$ git clone /cygdrive/z/[repo].git


0

Authentifizierungsproblem: Ich verwende das TortoiseGit-GUI-Tool. Ich muss Tortoise den Benutzernamen und das Kennwort mitteilen, damit es auf die Arbeit mit der Git / GitHub / Gitlab-Codebasis zugreifen kann. Klicken Sie in einen beliebigen Ordner, um das TortoiseGit-Menü aufzurufen. Hier TortoseGit> Einstellungsfenster> Anmeldeinformationen im linken Navigationsbaum auswählen URL eingeben: Git url Helper: Wählen Sie Windows aus, wenn Ihre Windows-Anmeldeinformationen mit denen für Git oder 'Manager' identisch sind, wenn sie unterschiedliche Benutzernamen haben. Git-Benutzername Speichern Sie diese Einstellungen und versuchen Sie es erneut. Sie werden aufgefordert, ein Passwort einzugeben, und dann hat es funktioniert.


0

Ich bin ein Entwickler und das passiert mit privaten Repositories. Da ich mehrere Github-Organisationen verwalte, habe ich einige verschiedene SSH-Schlüssel. Um diesen ERROR: Repository not found. fatal: Could not read from remote repository.Fehler zu beheben, können Sie verwenden

export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -o User=git -i ~/.ssh/ssh_key_for_repo"

git clone git@github.com:user/repo.git

0

Möglicherweise haben Sie sich in einem anderen Konto angemeldet, und dieses Konto hat keine Zugriffsrechte auf dieses Repo. Wenn Sie ein Mac-Betriebssystem verwenden, gehen Sie zu Keychain Access, suchen Sie nach gitlab.com, entfernen Sie es und versuchen Sie erneut, git clone.


0

In meinem Fall. Repository ist privat Ich kann nicht direkt darauf zugreifen. Nur auf dem Weg zur Verwendung der Github Desktop App, um dieses Repo abzurufen.


0

Sie sollten überprüfen, ob Sie ein anderes Github-Konto haben, das als "Standard" markiert ist. Beim Versuch, ein neues Repo zu klonen, versucht der Client (in meinem Fall BitBucket), die Anmeldeinformationen abzurufen, die Sie als "Standard" festgelegt haben. Markieren Sie einfach Ihre neuen Anmeldeinformationen als "Standard" und Sie können das Repo klonen. Es hat bei mir funktioniert.


0

Ein weiterer Grund für diesen Fehler: Wenn Sie auf Github arbeiten und versuchen, Bereitstellungsschlüssel für mehrere Repos zu verwenden, funktioniert dies nicht.

In diesem Fall müssen Sie einen Maschinenbenutzer erstellen. Wenn Sie dies jedoch nicht tun und versuchen, ein anderes Repo als das mit dem Bereitstellungsschlüssel zu klonen, wird dieser Fehler angezeigt.


0

Bei mir treten die Probleme auf, weil ich meine alten Einstellungen für Benutzername / Passwort für gitlab gespeichert habe, sodass ich diese Anmeldeinformationen entfernen muss. Ich führe den folgenden Befehl auf meinem Mac aus:

sudo su
git config --system --unset credential.helper

und führen Sie den Klon erneut durch, geben Sie den Benutzernamen und das Passwort ein. Und alles ist gut.


-3

Öffnen Sie den Credential Manager -> suchen Sie nach Ihrem GIT-Entwicklerprofil -> klicken Sie darauf -> bearbeiten -> fügen Sie den in DevOps generierten Benutzer und das Kennwort hinzu und speichern Sie.


1
Das OP hat nie angegeben, DevOps zu verwenden.
Neville
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.