Git Clone - репозиторий не найден

97
git clone <url>

выдает фатальное сообщение: URL-адрес репозитория не найден

Я пробовал варианты по ссылке , но это не сработало.

Максимум
источник
наверняка ваш URL недействителен ..
g-newa
2
это частное репо или публичное? - Если это так, попробуйте использовать адрес HTTPS вместо адреса GIT. (Я надеюсь, что вы не делаете то, что сказал @JohnZwinck ...)
appostolis
Если репо является общедоступным, не могли бы вы отредактировать свой вопрос, добавив соответствующий URL-адрес?
jub0bs
Привет, Джубос, это частное репо, и у меня есть доступ к этому репо.
Макс
22
Я столкнулся с похожей ситуацией. URL-адрес, который я использовал для своего личного репозитория, был правильным. Но я получал ту же ошибку. После долгих поисков я обнаружил, что в связке ключей (я использую Mac Yosemite) запись для github.com имеет старый пароль для github. Я удалил запись из связки ключей, затем выполнил команду git clone. Он попросил мое имя пользователя / пароль github и уолла, клон сработал!
Шириш Кумар

Ответы:

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
Кай Маттерн
источник
он правильно отображается в браузере, но не работает, когда я принимаю клон
Чандни
309

Как уже упоминалось другими, ошибка может возникнуть, если 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
Спасибо, это было полезно. Я столкнулся с этой проблемой только в одной из своих систем, но не могу понять, почему. Использование второго метода работает, но мне любопытно, почему и если мне нужно продолжать его использовать? Что может вызвать проблемы с первой командой, а не со второй?
Левон
4
В Mac OS X вы можете хранить имя пользователя и пароль в Связке ключей (например, для GitHub). Тогда вторая команда вам не понадобится. Если у вас ничего подобного нет, вам нужна вторая команда.
Christian Fries
3
@CCJ, да: вы можете ввести все в команде , кроме:password и мерзавец будет запрашивать пароль. Например:git clone https://username@github.com/NAME/repo.git
Leanne
1
@ChristianFries, было бы здорово, если бы вы могли обновить свой ответ, включив в комментарий Линн для будущих читателей опцию, не отображающую пароль.
Джон Павек
1
@JohnPavek: Готово.
Christian Fries
44

В macOS возможно, что кэшированные учетные данные в цепочке ключей, которую получает git, неверны. Это может быть устаревший пароль или неправильные учетные данные.

Чтобы обновить учетные данные, хранящиеся в Связке ключей OS X

Следуйте инструкциям по адресу:

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 безумно полезен - спасибо!
mistertee
Если вы обнаружите, что ваше имя пользователя / пароль неверны, как заставить git использовать другой?
toancaro,
Связка ключей macos может хранить несколько логинов github. Если вы хотите указать, какой из них, username@по URL-адресу github. Пример: https://username@github.com/foo/bar.gitтогда связка ключей macos будет использовать правильный пароль для входа.
Висбаки
21

У меня тоже была такая же проблема. Я пытался клонировать репо, которое было частным, и мой git, установленный в osx, имеет цепочку ключей, которая не позволяла мне клонировать репо ...

Я старался

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

но это не сработало, поскольку мой пароль содержал поле @.

Я просто сбежал

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

command и нажмите Enter, и все сработало отлично. На самом деле вам нужно удалить связку ключей, уже сохраненную в osx.

Викас Чандра
источник
20

У меня была такая же проблема ( Repository not found) из-за того, что изначально я вошел в систему с неправильной учетной записью GitHub. Починить это:

  1. Откройте Панель управления из меню Пуск.
  2. Выберите Учетные записи пользователей.
  3. В меню слева выберите «Управление учетными данными».
  4. Удалите все учетные данные, связанные с Git или GitHub.
байтун
источник
1
Это решило проблему для меня. У меня есть несколько учетных записей github, поэтому в Windows иногда учетные данные git кэшируются для другой учетной записи внутри диспетчера учетных данных Windows. Очистка кэшированной учетной записи позволяет решить эту проблему.
Grizzly Peak Software
Эта неправильная учетная запись (кешированная) может не иметь разрешения на просмотр репозитория, поэтому Github / Gitlab вернет ошибку 404 Not Found.
mrdaliri
404 вместо UnAuthorized error. Это сообщение об ошибке вводит в заблуждение. Спасибо за вашу помощь. У меня тоже работает :)
Diallo
19

Для меня

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

работал.

Я думаю, что это происходит в основном потому, что к частному репо нельзя получить прямой доступ.

Маниш Менария
источник
18

Что решило мою проблему, так как у меня была ошибка "URL-адрес перенаправления / входа" или "репозиторий не найден"

Пользователи MacOS:

  1. Открытый прожектор (Command Space)
  2. Введите брелок (Open keychain access.app)
  3. Поиск домена репо (GitHub, GitLab и т. Д.)
  4. Удалить все ключи, относящиеся к этому домену
  5. Попробуйте клонировать снова (с действующими учетными данными)

Пользователи Windows должны попробовать аналогичные шаги, но Keychain будет вместо этого Microsoft Credentials Manager или Windows Credentials, в зависимости от вашей версии ОС. Обязательно очистите учетные данные как в Интернете, так и в Windows, если это так.

Виктор Р. Оливейра
источник
Возможно, это устранило мою проблему, я не совсем уверен, так как сначала казалось, что это не подействовало, но позже, без внесения других изменений, все снова начало работать.
patrick.elmquist 08
если у вас есть две или более цепочки ключей, содержащие имя gitlab, и вы не можете удалить все за один раз, попробуйте удалить по одному. (удалите по одному, закройте раздел цепочки для ключей и повторите для следующего)
Jitendra
Лучший ответ для меня. Я исправил, используя эти шаги, спасибо
Hardik Joshi 01
15

Если вы работаете в Windows, репозиторий является частным, и однажды были сохранены другие или неверные учетные данные, у вас не будет доступа к репозиторию. Вы получите сообщение об ошибке «Не найден» без указания направления «failed-credential-direction». Чтобы сбросить учетные данные в Windows, откройте панель управления (элемент управления Win + r), выберите «Учетные записи пользователей и диспетчер учетных данных». Найдите учетную запись git в учетных данных Windows (не веб-учетных данных!) И удалите эту запись.

После этого при клонировании появится диалоговое окно входа в систему, и вы сможете установить его снова.

Протестировано с помощью git-bash в качестве оболочки в VSCode

theking2
источник
ты велик, спас мне жизнь
хан Фарман
легенда спасла мне жизнь.
Эли Чен
9

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

Нихил Георгий
источник
1
Это была моя проблема. Если у вас есть правильный уровень, вы должны увидеть Clone or Downloadкнопку на странице github для URL-адреса. Если его там нет, то клонировать его нельзя.
Стивен Хоскинг
9

Если вы используете двухфакторную авторизацию (2FA) для своей учетной записи Github, просто используйте опцию SSH для клонирования вашего репозитория:

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

Олег Датер
источник
7

git clone https://username@github.com/User/Repository.git запросит пароль, затем клонирует.

Эндрю Уоттерс
источник
4

Это происходит из-за того, что у меня осталось прежнее состояние сеанса другого пользователя: Ниже представлено быстрое решение для пользователей Windows,

Откройте панель управления из меню «Пуск». Выберите учетные записи пользователей. Выберите «Управление учетными данными» в меню слева. Удалите все учетные данные, связанные с Git или GitHub.

Как только я это сделал, у меня начало работать.

Амджад Хан
источник
4

Эта проблема начала появляться на моем терминале после того, как я включил GitHub 2FA .

Теперь я сталкиваюсь с этой проблемой всякий раз, когда клонирую частный репозиторий. Эта ошибка:

удаленный: репозиторий не найден.
фатальный: репозиторий https://github.com/kmario23/repo-name.git/ не найден

это так неловко. Конечно, это репо у меня есть, и я его владелец.

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

                             add your username
                                |-------|
$ git clone --recursive https://kmario23@github.com/kmario23/repo-name.git
kmario23
источник
2
Решил мою
проблему.Спасибо
2

Для меня это сработало, удалив credential.helperконфигурацию и снова клонировав репозиторий

git config --global --unset credential.helper
git clone https://<repository>
linktoahref
источник
1
Это очень важно для меня
Атикур Рахман Сабудж
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 или «менеджера», если они разные 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.

Hieu Vo
источник
0

В моем случае. репозиторий является частным, я не могу получить к нему доступ напрямую. Единственный способ использовать приложение Github Desktop для получения этого репо.

Узаир Раза
источник
0

Вы должны проверить, есть ли у вас какая-либо другая учетная запись github, помеченная как «по умолчанию». При попытке клонировать новое репо клиент (в моем случае BitBucket) попытается получить учетные данные, которые вы установили «по умолчанию». Просто отметьте свои новые учетные данные «по умолчанию», и это позволит вам клонировать репо, у меня это сработало.

Роберто Эскалон
источник
0

Другая причина этой ошибки: если вы используете github и пытаетесь использовать ключи развертывания для нескольких репозиториев, вы обнаружите, что это не работает.

В этом случае вам нужно создать пользователя машины , однако, если вы этого не сделаете и попытаетесь клонировать любое репо, кроме репо с ключом развертывания, вы получите эту ошибку.

quickshiftin
источник
0

Для меня проблемы возникают из-за того, что у меня есть старые настройки имени пользователя и пароля, сохраненные для gitlab, поэтому мне нужно удалить эти учетные данные. Я запускаю на своем Mac следующую команду:

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

и сделайте клон снова, введите логин и пароль. И все нормально.

гастроном
источник
-3

откройте Credential Manager -> найдите свой профиль GIT DevOps -> щелкните по нему -> отредактируйте -> добавьте пользователя и пароль, сгенерированные в DevOps, и сохраните.

Роберт П.
источник
1
OP никогда не заявлял об использовании DevOps.
Невилл,