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.


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
git@github.com:user/repo2.git if you're using SSH

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:password@github.com/NAME/repo.git


Możesz także użyć

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

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


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://username@github.com/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ć.


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://username@github.com/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:password@github.com/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.


20

Dla mnie

git clone https://username@github.com/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.


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.

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.


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


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.


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


7

git clone https://username@github.com/User/Repository.git zapyta o hasło, a następnie sklonuje.


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ć.


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://kmario23@github.com/kmario23/repo-name.git

2
Rozwiązałem mój problem. Dzięki
mnhmilu


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

0

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


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


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.


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 git@github.com:user/repo.git

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ć.


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.


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.


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.


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.


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


1
OP nigdy nie stwierdził, że używa DevOps.
Neville
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.