Git Clone - сховище не знайдено


98
git clone <url>

дає повідомлення fatal: репозиторій 'url' не знайдений

Я спробував варіанти за посиланням , але це не спрацювало.


безумовно, ваша URL-адреса повинна бути недійсною.
g-newa

2
це приватне репо чи публічне? - Якщо це так, спробуйте використати HTTPS-адресу замість GIT-адреси. (Я сподіваюся, що ви робите не те, що сказав @JohnZwinck ...)
призначеннястоліс

Якщо репо є загальнодоступним, чи можете ви відредагувати своє запитання, щоб додати відповідну URL-адресу?
jub0bs

Привіт Джубос, це приватне репо, і я маю доступ до цього репо.
Макс.

22
Я зіткнувся з подібною ситуацією. URL-адреса, яку я використав для приватного сховища, була правильною. Але я отримував ту ж помилку. Після довгих копань я виявив, що в брелоку (я використовую Mac Yosemite), запис для github.com містив старий пароль для github. Я видалив запис із брелока, а потім запустив команду git clone. Він запитав моє ім’я користувача / пароль github, і клон wallah працював!
Ширіш Кумар,

Відповіді:


27

Швидше за все, ваша URL-адреса недійсна.

Якщо це URL-адреса http / https, ви можете швидко перевірити, забивши URL-адресу в браузер. Якщо це взагалі нічого не відображає, ви знаєте, що URL-адреса недійсна.

Я припускаю, що ви говорите про віддалене сховище. URL-адреси повинні виглядати приблизно так:

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

він правильно відображається на веб-переглядачі, але не працює, коли я беру клон
Чандні,

310

Як згадували інші, помилка може статися, якщо URL-адреса неправильна.

Однак помилка може також трапитися, якщо репозиторій є приватним репо та у вас немає доступу або неправильних даних.

Замість

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

спробуй

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


Ви також можете використовувати

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

і git запитає пароль (спасибі leanne за надання цієї підказки в коментарях).


2
Дякую - це було корисно. Я зіткнувся з цією проблемою лише в одній зі своїх систем, але не можу зрозуміти, чому. Використання 2-го методу працює, але мені цікаво, чому і чи потрібно продовжувати цим користуватися? Що може бути причиною проблеми з першою командою, але не з другою?
Левон

4
У Mac OS X ви можете зберігати ім’я користувача та пароль у брелоку (наприклад, для GitHub). Тоді вам не потрібна друга команда. Якщо у вас немає подібних речей, вам потрібна друга команда.
Крістіан Фріс

3
@CCJ, так: у команді можна ввести все, крім команди :password, і git запитає пароль. Наприклад:git clone https://username@github.com/NAME/repo.git
leanne

1
@ChristianFries, було б чудово, якби ви могли оновити свою відповідь, включивши опцію без видимого пароля до коментаря Леана для майбутніх читачів.
Джон Павек

1
@JohnPavek: Готово.
Крістіан Фріс

44

На macOS можливо, що кешовані облікові дані в брелоку, які отримує git, є неправильними. Це може бути застарілий пароль або використання неправильних даних.

Для оновлення облікових даних, що зберігаються в OS X Keychain

Дотримуйтесь інструкцій на веб-сторінці:

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

Якщо ви хочете перевірити, що це проблема, ви можете запустити клон із трасуванням.

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

Шукайте рядок заголовка "Авторизація: Basic BASE64STRING".
Візьміть рядок base64 і декодуйте його, щоб перевірити, яке ім’я користувача: пароль було використано.

$ echo <the key> | base64 --decode

Переконайтеся, що ви вказали правильний пароль для входу в систему.


Я пробую це, і це дає мені ім’я користувача / пароль для мого іншого облікового запису. Мені здається, мені потрібно вказати ім’я користувача ...
Ніколас Міарі

Цей GIT_CURL_VERBOSE = 1 шалено корисний - дякую!
помилково визначений

Якщо ви виявили, що ваше ім’я користувача / пароль неправильні, як змусити git використовувати інший?
toancaro

брелок macos може зберігати кілька входів github. Якщо ви хочете вказати, який саме, username@на URL-адресу github. Приклад: https://username@github.com/foo/bar.gitТоді брелок macos використовуватиме правильний пароль для входу.
Wisbucky

21

У мене теж була така ж проблема. Я намагався клонувати репо, яке було приватним, і мій git, встановлений в osx, має брелок, який не дозволяв мені клонувати репо ...

я намагався

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

але це не спрацювало, оскільки мій пароль містив поле @.

Я просто побіг

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

команда і натисніть клавішу Enter, і це спрацювало чудово. Насправді вам потрібно видалити брелок, який вже зберігається в osx.


20

У мене була та ж проблема ( Repository not found) через те, що спочатку я ввійшов у систему з неправильним обліковим записом GitHub. Щоб це виправити:

  1. Відкрийте Панель управління в меню «Пуск».
  2. Виберіть Облікові записи користувачів.
  3. Виберіть "Керування своїми обліковими даними" в меню ліворуч.
  4. Видаліть усі облікові дані, пов’язані з Git або GitHub.

1
Це вирішило проблему для мене. У мене є кілька облікових записів github, тому в Windows іноді git-облікові дані кешуються для іншого облікового запису всередині менеджера облікових даних Windows. Видалення кешованого облікового запису дозволяє вирішити цю проблему.
Програмне забезпечення Grizzly Peak

Цей неправильний обліковий запис (кешований) може не мати дозволу на перегляд сховища, тому Github / Gitlab повертає помилку 404 Не знайдено.
mrdaliri

404 замість неавторизованої помилки. Це повідомлення про помилку вводить в оману. Спасибі за вашу допомогу. Це працює і для мене :)
Діалло,

19

Для мене

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

працював.

Я думаю, що це відбувається головним чином, оскільки приватне репо не може бути безпосередньо доступне.


18

Що вирішило мою проблему, оскільки у мене виникла помилка "переспрямування / URL-адреса_входу" або "сховище не знайдено"

Користувачі MacOS:

  1. Відкритий прожектор (Command Space)
  2. Введіть брелок (Відкрити брелок access.app)
  3. Пошук домену репо (GitHub, GitLab тощо)
  4. Видаліть усі ключі, пов’язані з цим доменом
  5. Спробуйте клонувати ще раз (з дійсними обліковими даними)

Користувачам Windows слід спробувати подібні кроки, але Keychain буде замість цього менеджером облікових даних Microsoft або обліковими даними Windows, залежно від вашої версії ОС. Не забудьте очистити облікові дані Інтернету та Windows, якщо це так.


Можливо, це виправило мою проблему, не зовсім впевнену, оскільки спочатку вона, здається, не мала ефекту, але пізніше, не роблячи інших змін, все знову почало працювати.
patrick.elmquist

якщо у вас є два або більше ланцюжків ключів, що містять ім'я gitlab, і ви не можете видалити все за один раз, спробуйте видалити по одному. (видаліть по одному і закрийте розділ брелока та повторіть для наступного)
Jitendra

Найкраща відповідь для мене. Я виправив, скориставшись цими кроками, дякую
Хардік Джоші

15

Якщо ви працюєте в Windows, сховище є приватним, і коли один раз були збережені різні або не правильні облікові дані, ви не матимете доступу до репо. Ви отримаєте помилку, яку не знайшли, не натякаючи в напрямку помилки-облікових даних. Щоб скинути облікові дані в Windows, відкрийте Панель керування (керування Win + r), виберіть Облікові записи користувачів та Диспетчер облікових даних. Знайдіть обліковий запис git в облікових даних Windows (а не в облікових даних Інтернету!) Та видаліть цей запис.

Після цього при клонуванні з’явиться діалогове вікно входу, і ви зможете встановити їх знову.

Перевірив це за допомогою git-bash як оболонки у VSCode


ур чудовий, врятував мені життя
хан Фарман

легенда врятувала мені життя.
Елі Чен,

9

На github ви можете мати основне сховище та підпапки. Переконайтеся, що URL-адреса, яку ви використовуєте, - це головного сховища, а не папки. Перший буде успішним, а другий видасть помилку сховища не знайдено. Якщо у вас є сумніви, що ви знаходитесь у підпапці, перейдіть по ланцюжку сховищ, поки не знайдете сторінку, яка фактично вказала URL-адресу https, і використовуйте це.


1
Це була моя проблема. Якщо у вас правильний рівень, тоді ви побачите Clone or Downloadкнопку на сторінці github для URL-адреси. Якщо його там немає, то ви не можете його клонувати.
Стівен Хоскінг,

9

Якщо ви використовуєте двофакторну авторизацію (2FA) для свого облікового запису Github, просто використовуйте опцію SSH для клонування вашого сховища:

введіть тут опис зображення



4

Це відбувається через те, що стан мого старого сеансу іншого користувача залишається: Нижче наведено швидке рішення для користувачів Windows,

Відкрийте Панель керування в меню «Пуск» Виберіть облікові записи користувачів Виберіть «Керування своїми обліковими даними» в меню ліворуч Видаліть усі облікові дані, пов’язані з Git або GitHub

Як тільки я це зробив, це почало працювати на мене.


4

Ця проблема почала з’являтися на моєму терміналі після того, як я увімкнув GitHub 2FA .

Зараз я стикаюся з цією проблемою щоразу, коли клоную приватний репозитарій. Ця помилка:

віддалений: сховище не знайдено.
фатально: сховище ' https://github.com/kmario23/repo-name.git/ ' не знайдено

так незручно. Звичайно, у мене є це репо, і я його власник.

У будь-якому випадку, схоже, виправлення полягає в тому, що нам доведеться ще раз увійти до GitHub usernameпри клонуванні приватного репо. Нижче наведено приклад:

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

2
Вирішив мою проблему.
Дякую


0

Можливо, вам доведеться створити порожній файл з іменем git-daemon-export-okу каталозі сховища.


0

Якщо ви використовуєте cygwin для git і намагаєтеся клонувати сховище git з мережевого диска, вам потрібно додати шлях cygdrive.

Наприклад, якщо ви клонуєте репозиторій git з z: /

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


0

Проблема автентифікації: я використовую інструмент графічного інтерфейсу TortoiseGit, мені потрібно повідомити черепашці ім’я користувача та пароль, щоб вона могла отримати доступ до роботи з базою коду Git / GitHub / Gitlab. Щоб сказати це, натисніть клавішу всередині будь-якої папки, щоб отримати меню TortoiseGit. Тут TortoseGit> Вікно налаштувань> Виберіть облікові дані в лівому навігаційному дереві Введіть URL: Git url Helper: Виберіть вікна, якщо ваші облікові дані Windows однакові з Git або «manager», якщо вони відрізняються від userName; Git Ім'я користувача Збережіть ці налаштування і спробуйте ще раз. Вам буде запропоновано ввести пароль, і тоді він спрацював.


0

Я інженер devops, і це трапляється з приватними сховищами. Оскільки я керую кількома організаціями Github, у мене є кілька різних ключів SSH. Щоб подолати цю ERROR: Repository not found. fatal: Could not read from remote repository.помилку, ви можете використовувати

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

Можливо, ви входили в інший обліковий запис, і цей обліковий запис не має прав доступу до цього репо, якщо ви використовуєте mac os, перейдіть до Keychain Access, знайдіть gitlab.com і видаліть його та спробуйте git clone знову.


0

У моєму випадку. сховище приватне, я не можу отримати до нього безпосередній доступ. Спосіб використання програми Github Desktop для отримання цього репо.


0

Вам слід перевірити, чи є у вас інший обліковий запис github, позначений як "за замовчуванням". При спробі клонувати нове репо, клієнт (у моєму випадку BitBucket) намагатиметься отримати облікові дані, які ви встановили "за замовчуванням". Просто позначте свої нові облікові дані "типовими", і це дозволить вам клонувати репо, це спрацювало для мене.


0

Ще однією причиною цієї помилки, якщо ви працюєте на github і намагаєтесь використовувати ключі розгортання для кількох репозиторіїв, ви виявите, що це не працює.

У цьому випадку вам потрібно створити користувача машини , однак якщо ви цього не зробите, і ви спробуєте клонувати будь-яке репо, крім того, що має ключ розгортання, ви отримаєте цю помилку.


0

У мене проблеми виникають через те, що у мене збережено старі налаштування імені користувача / пароля для gitlab, тому мені потрібно видалити ці облікові дані. Я запускаю таку команду на своєму mac:

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

і зробіть клон ще раз, введіть ім’я користувача та пароль. І все добре.


-3

відкрийте Credential Manager -> знайдіть свій профіль GIT devops -> натисніть на нього -> редагуйте -> додайте користувача та пароль, створені в DevOps, та збережіть.


1
У OP ніколи не зазначено використання DevOps.
Невілл,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.