Klon Git - nie znaleziono repozytorium

98
git clone <url>

daje komunikat fatalny: nie znaleziono repozytorium „url”

Wypróbowałem opcje w linku , ale nie zadziałało.

Maks
źródło
z pewnością twój adres URL musi być nieprawidłowy ...
g-newa
2
czy jest to repozytorium prywatne czy publiczne? - Jeśli tak, spróbuj użyć adresu HTTPS zamiast adresu GIT. (Mam nadzieję, że nie robisz tego, co powiedział @JohnZwinck ...)
appostolis
Jeśli repozytorium jest publiczne, czy możesz edytować swoje pytanie, aby dodać odpowiedni adres URL?
jub0bs
Cześć Jubos, to prywatne repozytorium i mam dostęp do tego repozytorium.
Max
23
Miałem podobną sytuację. Adres URL, którego użyłem do mojego prywatnego repozytorium, był poprawny. Ale otrzymywałem ten sam błąd. Po długich poszukiwaniach odkryłem, że w pęku kluczy (używam Mac Yosemite), wpis na github.com miał stare hasło do github. Usunąłem wpis z pęku kluczy, a następnie uruchomiłem polecenie git clone. Poprosiłem o moją nazwę użytkownika / hasło na githubie, a klient klon zadziałał!
Shirish Kumar

Odpowiedzi:

28

Najprawdopodobniej Twój adres URL jest nieprawidłowy.

Jeśli jest to adres URL http / https, możesz szybko sprawdzić, wbijając adres URL w przeglądarce. Jeśli to w ogóle nic nie wyświetla, wiesz, że adres URL jest nieprawidłowy.

Zakładam, że mówisz o zdalnym repozytorium. Adresy URL powinny wyglądać mniej więcej tak:

https://github.com/user/repo2.git if you're using HTTPS
[email protected]:user/repo2.git if you're using SSH
Kai Mattern
źródło
wyświetla się poprawnie na przeglądarce, ale nie działa, gdy biorę klon
Chandni,
319

Jak wspominali inni, błąd może wystąpić, jeśli adres URL jest nieprawidłowy.

Jednak błąd może również wystąpić, jeśli repozytorium jest repozytorium prywatnym i nie masz dostępu lub nieprawidłowych poświadczeń.

Zamiast

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

próbować

git clone https://username:[email protected]/NAME/repo.git


Możesz także użyć

git clone https://[email protected]/NAME/repo.git

a git zapyta o hasło (dzięki leanne za podanie tej wskazówki w komentarzach).

Christian Fries
źródło
3
Dzięki - to było przydatne. Napotkałem ten problem tylko na jednym z moich systemów, ale nie mogę zrozumieć, dlaczego. Korzystanie z drugiej metody działa, ale jestem ciekaw, dlaczego i czy muszę nadal jej używać? Co spowodowałoby problem z pierwszym poleceniem, a nie z drugim?
Levon
4
W systemie Mac OS X możesz przechowywać nazwę użytkownika i hasło w pęku kluczy (np. Dla GitHub). Wtedy nie potrzebujesz drugiego polecenia. Jeśli nie masz czegoś takiego, potrzebujesz drugiego polecenia.
Christian Fries
3
@CCJ tak: można wpisać wszystko w poleceniu wyjątkiem:password i git poprosi o podanie hasła. Na przykład:git clone https://[email protected]/NAME/repo.git
leanne
1
@ChristianFries byłoby wspaniale, gdybyś mógł zaktualizować swoją odpowiedź, tak aby w komentarzu Leanne dla przyszłych czytelników znalazła się opcja bez widocznego hasła.
John Pavek
1
@JohnPavek: Gotowe.
Christian Fries
45

W systemie macOS możliwe jest, że buforowane poświadczenia w pęku kluczy, które pobiera git, są nieprawidłowe. Może to być nieaktualne hasło lub użycie nieprawidłowych danych uwierzytelniających.

Aby zaktualizować poświadczenia przechowywane w pęku kluczy OS X.

Postępuj zgodnie z instrukcjami podanymi na:

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

Jeśli chcesz sprawdzić, czy to jest problem, możesz uruchomić klonowanie ze śledzeniem.

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

Poszukaj wiersza nagłówka „Authorization: Basic BASE64STRING”.
Weź ciąg base64 i zdekoduj go, aby sprawdzić, jaka nazwa użytkownika: hasło zostało użyte.

$ echo <the key> | base64 --decode

Sprawdź, czy jest to prawidłowe hasło do nazwy użytkownika, którego chcesz użyć.

tsafrir
źródło
Próbuję tego i otrzymuję nazwę użytkownika / hasło do mojego innego konta. Chyba muszę podać nazwę użytkownika ...
Nicolas Miari
Ten GIT_CURL_VERBOSE = 1 jest niesamowicie pomocny - dzięki!
pan
Jeśli okaże się, że Twoja nazwa użytkownika / hasło jest nieprawidłowe, jak sprawić, by git użył innego?
toancaro
Pęk kluczy macos może przechowywać wiele loginów na github. Jeśli chcesz określić, który z nich, username@do adresu URL github. Przykład: https://[email protected]/foo/bar.gitPęk kluczy macos użyje poprawnego hasła logowania.
wisbucky
21

Miałem też ten sam problem. Próbowałem sklonować repozytorium, które było prywatne, a mój git zainstalowany w osx ma pęku kluczy, który nie pozwalał mi sklonować repozytorium ...

próbowałem

git clone https://username:[email protected]/NAME/repo.git 

ale to nie zadziałało, ponieważ moje hasło zawierało pole @.

Po prostu uciekłem

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

polecenie i naciśnij enter i działało idealnie. Właściwie musisz usunąć brelok już przechowywany w osx.

Vikas Chandra
źródło
20

Dla mnie

git clone https://[email protected]/name/repo.git

pracował.

Myślę, że dzieje się tak głównie dlatego, że nie można uzyskać bezpośredniego dostępu do prywatnego repozytorium.

Manish Menaria
źródło
20

Miałem ten sam problem ( Repository not found) ze względu na to, że początkowo logowałem się na niepoprawne konto GitHub. Naprawić to:

  1. Otwórz Panel sterowania z menu Start.
  2. Wybierz Konta użytkowników.
  3. Wybierz „Zarządzaj swoimi danymi logowania” w menu po lewej stronie.
  4. Usuń wszelkie poświadczenia związane z usługą Git lub GitHub.
baitun
źródło
1
To rozwiązało problem. Mam wiele kont github, więc w systemie Windows czasami poświadczenia git są buforowane dla drugiego konta w menedżerze poświadczeń systemu Windows. Wyczyszczenie konta w pamięci podręcznej pozwala rozwiązać ten problem.
Oprogramowanie Grizzly Peak
To nieprawidłowe konto (zapisane w pamięci podręcznej) może nie mieć uprawnień do przeglądania repozytorium, więc Github / Gitlab zwraca błąd 404 Not Found.
mrdaliri
404 zamiast błędu nieautoryzowanego. Ten komunikat o błędzie jest mylący. Dzięki za pomoc. U mnie też działa :)
Diallo
18

Co rozwiązało mój problem, ponieważ występował błąd „przekierowanie / adres URL logowania” lub „nie znaleziono repozytorium”

Użytkownicy MacOS:

  1. Otwórz reflektor (przestrzeń poleceń)
  2. Wpisz pęku kluczy (Otwórz keychain access.app)
  3. Wyszukaj domenę repozytorium (GitHub, GitLab itp.)
  4. Usuń wszystkie klucze związane z tą domeną
  5. Spróbuj ponownie sklonować (z prawidłowymi poświadczeniami)

Użytkownicy systemu Windows powinni spróbować podobnych kroków, ale Keychain byłby zamiast tego Menedżerem poświadczeń firmy Microsoft lub poświadczeniami systemu Windows w zależności od wersji systemu operacyjnego. W takim przypadku pamiętaj o wyczyszczeniu poświadczeń sieci i systemu Windows.

Victor R. Oliveira
źródło
To mogło rozwiązać mój problem, nie do końca pewien, ponieważ początkowo nie wydawało się, że ma to wpływ, ale później, bez wprowadzania innych zmian, wszystko zaczęło działać ponownie.
patrick.elmquist
jeśli masz dwa lub więcej łańcuchów kluczy zawierających nazwę gitlab i nie jesteś w stanie usunąć wszystkich za jednym razem, spróbuj usunąć jeden po drugim. (usuń pojedynczo i zamknij sekcję pęku kluczy i powtórz dla następnego)
Jitendra
Najlepsza odpowiedź dla mnie. Naprawiłem, wykonując te kroki, dzięki
Hardik Joshi
16

Jeśli korzystasz z systemu Windows, repozytorium jest prywatne, a inne lub już niepoprawne dane uwierzytelniające zostały zapisane raz, nie będziesz mieć dostępu do repozytorium. Otrzymasz błąd „nie znaleziono” bez podpowiedzi w kierunku nieudanego uwierzytelnienia. Aby zresetować poświadczenia w systemie Windows, otwórz Panel sterowania (kontrola Win + r), wybierz Konta użytkowników i Menedżer poświadczeń. Zlokalizuj konto git w poświadczeniach systemu Windows (nie poświadczeniach sieci Web!) I usuń ten wpis.

Następnie klonowanie wyświetli okno dialogowe logowania i będziesz mógł je ustawić ponownie.

Przetestowałem to z git-bash jako powłoką w VSCode

theking2
źródło
jesteś wspaniały, uratował mi życie
khan Farman
legenda uratowała mi życie.
eli chen
9

Na github możesz mieć główne repozytorium i podfoldery. Upewnij się, że adres URL, którego używasz, jest adresem głównego repozytorium, a nie folderu. Pierwsza zakończy się sukcesem, a druga wygeneruje błąd „nie znaleziono repozytorium”. Jeśli masz wątpliwości, że jesteś w podfolderze, przejdź w górę łańcucha repozytoriów, aż znajdziesz stronę, która faktycznie określa adres URL https i użyj tego.

Nikhil George
źródło
1
To był mój problem. Jeśli masz odpowiedni poziom Clone or Download, na stronie github powinieneś zobaczyć przycisk adresu URL. Jeśli go tam nie ma, nie możesz go sklonować.
Stephen Hosking
9

Jeśli korzystasz z dwuskładnikowej autoryzacji (2FA) dla swojego konta Github, po prostu użyj opcji SSH do klonowania repozytorium:

wprowadź opis obrazu tutaj

Oleg Dater
źródło
5

Dzieje się tak z powodu mojego starego stanu sesji innego użytkownika: Poniżej znajduje się szybkie rozwiązanie dla użytkowników systemu Windows,

Otwórz Panel sterowania z menu Start Wybierz konta użytkowników Wybierz „Zarządzaj swoimi poświadczeniami” w menu po lewej stronie Usuń wszystkie poświadczenia związane z Git lub GitHub

Kiedy to zrobiłem, zaczęło mi to działać.

Amjad Khan
źródło
4

Ten problem zaczął się pojawiać na moim terminalu po włączeniu usługi GitHub 2FA .

Teraz mam do czynienia z tym problemem za każdym razem, gdy klonuję prywatne repozytorium. Ten błąd:

zdalny: nie znaleziono repozytorium.
fatal: repozytorium „ https://github.com/kmario23/repo-name.git/ ” nie zostało znalezione

jest taki niezręczny. Oczywiście mam to repozytorium i jestem jego właścicielem.

W każdym razie wydaje się, że naprawa polega na tym, że musimy jeszcze raz wejść do GitHub usernamepodczas klonowania prywatnego repozytorium. Poniżej przykład:

                             add your username
                                |-------|
$ git clone --recursive https://[email protected]/kmario23/repo-name.git
kmario23
źródło
2
Rozwiązałem mój problem. Dzięki
mnhmilu
2

U mnie zadziałało, usuwając credential.helperkonfigurację i ponownie klonując repozytorium

git config --global --unset credential.helper
git clone https://<repository>
linktoahref
źródło
1
To mnie
martwiło
2

jeśli twoje repozytorium git jest prywatne, spróbuj tego

git clone https://<USERNAME>:<PASSWORD>@github.com/<USERNAME>/<REPO_NAME>.git

Uwaga: jeśli używasz symbolu @ w swoim haśle, użyj „% 40” zamiast „@”

inaczej użyj tego

git clone https://github.com/<USERNAME>/<REPO_NAME>.git
Gopala raja naika
źródło
0

Może być konieczne utworzenie pustego pliku o nazwie git-daemon-export-okw katalogu repozytorium.

mono blaine
źródło
0

Jeśli używasz cygwin dla git i próbujesz sklonować repozytorium git z dysku sieciowego, musisz dodać ścieżkę cygdrive.

Na przykład, jeśli klonujesz repozytorium git z: /

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


źródło
0

Problem z uwierzytelnianiem: Używam narzędzia TortoiseGit GUI, muszę podać żółwiowi nazwę użytkownika i hasło, aby mógł uzyskać dostęp do pracy z bazą kodu Git / GitHub / Gitlab. Aby to powiedzieć, kliknij rt wewnątrz dowolnego folderu, aby uzyskać menu TortoiseGit. Tutaj TortoseGit> Okno ustawień> Wybierz poświadczenia w drzewie nawigacji po lewej stronie Wprowadź adres URL: Pomocnik adresu URL Git: Wybierz okna, jeśli poświadczenia systemu Windows są takie same, jak te dla Git lub „menedżera”, jeśli są to różne nazwy użytkownika; Nazwa użytkownika Git Zapisz te ustawienia i spróbuj ponownie. Zostaniesz poproszony o podanie hasła, a następnie zadziałało.

Rajesh Ram
źródło
0

Jestem inżynierem Devops i dzieje się tak z prywatnymi repozytoriami. Ponieważ zarządzam wieloma organizacjami Github, mam kilka różnych kluczy SSH. Aby przezwyciężyć ten ERROR: Repository not found. fatal: Could not read from remote repository.błąd, możesz użyć

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

git clone [email protected]:user/repo.git
Brett Porter
źródło
0

Możliwe, że zalogowałeś się na inne konto, a to konto nie ma praw dostępu do tego repozytorium, jeśli używasz systemu Mac OS, przejdź do Dostępu do pęku kluczy, wyszukaj gitlab.com i usuń go, a następnie spróbuj ponownie sklonować.

Hieu Vo
źródło
0

W moim przypadku. repozytorium jest prywatne Nie mam do niego bezpośredniego dostępu. W ten sposób można użyć aplikacji Github Desktop do pobrania tego repozytorium.

uzair raza
źródło
0

Powinieneś sprawdzić, czy masz jakieś inne konto na githubie oznaczone jako „domyślne”. Podczas próby sklonowania nowego repozytorium klient (w moim przypadku BitBucket) spróbuje uzyskać poświadczenia, które ustawiłeś jako „domyślne”. Po prostu oznacz swoje nowe poświadczenia jako „jako domyślne”, a pozwoli ci to sklonować repozytorium. U mnie zadziałało.

Roberto Escalon
źródło
0

Kolejny powód tego błędu, jeśli jesteś na Github i próbujesz użyć kluczy wdrażania dla wielu repozytoriów, okaże się, że to nie działa.

W takim przypadku musisz utworzyć użytkownika maszyny , jednak jeśli tego nie zrobisz i spróbujesz sklonować dowolne repozytorium poza tym z kluczem wdrażania, pojawi się ten błąd.

quickshiftin
źródło
0

U mnie problem występuje, ponieważ mam zapisane ustawienia mojej starej nazwy użytkownika / hasła w gitlab, więc muszę usunąć te poświadczenia. Uruchamiam następujące polecenie na moim Macu:

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

i ponownie wykonaj klon, wprowadź nazwę użytkownika i hasło. I wszystko w porządku.

de li
źródło
-3

otwórz Credential Manager -> poszukaj swojego profilu DevOps GIT -> kliknij na niego -> edytuj -> dodaj użytkownika i hasło wygenerowane w DevOps i zapisz.

Robert P
źródło
1
OP nigdy nie stwierdził, że używa DevOps.
Neville