Git Push ERROR: хранилище не найдено


356

У меня очень странная проблема с gitи github. Когда я пытаюсь нажать, я получаю:

git push -u origin master
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly

Я добавил пульт:

git remote add origin git@github.com:account-name/repo-name.git

Любые идеи?


2
Да, вот как я получил git remote add origin git@github.com:account-name/repo-name.git. Он существует в GitHub и является частным репозиторием.
Джастин,

1
Вы дважды проверили имена пользователей и репо?
ученый

2
ты изменил свое имя пользователя на github
Ankit

2
Есть ли шанс, что это связано с правами на чтение / запись репо? У меня есть репозиторий только для чтения, и я получаю это сообщение, когда пытаюсь что-то нажать
Майкл

3
У меня такая же проблема. Я решил это, обновив файл .git / config. Я поставил имя пользователя в ключе [remote "origin"]раздела.
Ахмед Джеханзаиб

Ответы:


514

Проверьте, есть ли у вас доступ для чтения и записи.

Сообщение об ошибке Git вводит в заблуждение. У меня была похожая проблема. Я был добавлен в существующий проект. Я клонировал его и совершил локальное изменение. Я пошел, чтобы нажать и получил ERROR: Repository not found.сообщение об ошибке.

Человек, который добавил меня в проект, дал мне доступ к хранилищу только для чтения. Изменения ими, и я смог подтолкнуть.


291
Должен любить эти полезные сообщения об ошибках Git. Не можете найти репозиторий, из которого я только что клонировал, а? Лжец.
Грант Бирчмейер

да та же проблема здесь - нет прав на коммит, и вы получаете это очень запутанное сообщение об ошибке <
sigh

12
@GrantBirchmeier Я хочу 100 раз повысить ваш комментарий.
технофил

16
Спасибо! Вы можете проверить это, просмотрев проект в Интернете и нажав «Новый файл»
Ронни

2
Так что для меня в моем пароле была `(галочка), и PhpStorm удалял символ перед отправкой git push: допустим, в этом примере мой пароль - _pa``ssword_ Phpstorm выдаст следующее: https://_username_:_password_@github.com/_username_/repo.git вместо https://_username_:_pa``ssword_@github.com/_username_/repo.git Измененного пароля на что-то, не использующее` персонаж. РАБОТАЕТ!!!
Рубен Аревало

128

Я столкнулся с той же проблемой и решил ее, включив свое имя пользователя и пароль в URL репо:

git clone https://myusername:mypassword@github.com/path_to/myRepo.git

29
Это сработало для меня, добавив только мое имя пользователя:https://myusername@github.com/path_to/myRepo.git
redolent

5
это работает, но, конечно, многие считают это проблемой безопасности; используйте с осторожностью
Александр Миллс

Это сработало для меня. Ранее я использовал Git Bash для другой учетной записи и не мог понять, как изменить учетную запись, так что все готово. Не нравится, но это работает.
HartleySan

1
В продолжение моего первоначального комментария, после того, как вы успешно нажали один раз, вы можете использовать git remote set-url origin urlкоманду, чтобы изменить исходный URL-адрес на ту же самую вещь без имени пользователя и пароля, и тогда она будет работать нормально.
HartleySan

1
Вы только что спасли моего приятеля! Ура!
Эльдхо Пол Коннанал

106

У меня была такая же проблема, с частным репо.

сделайте следующее:

удалить удаленный источник

git remote rm origin

повторно добавить источник, но с вашим именем пользователя и pwd с правами на запись в этом репозитории pvt

git remote add origin  https://USERNAME:PASSWORD@github.com/username/reponame.git

12
Что если в пароле есть @?
AnupamChugh

16
@AnupamChugh вам нужно заменить «@» на «% 40» в вашем пароле. В основном вы можете проверить, запустив код JSencodeURIComponent(password)
elquimista

1
Я рекомендую использовать помощник по учетным
данным,

2
Спасибо, это помогло без проблем!
Матан Даан

4
В заключение! Улов для ЧАСТНОГО РЕПО. Это сработало, если у вас есть частный репо и вы получите эту ошибку, следуя инструкциям Git-концентратора, чтобы перенести существующее репо из локального в Xcode на удаленный в Github: $ git push -u origin master remote: Repository not found. fatal: repository 'https://github.com/teksunios/Abc.git/' not found
iHarshil

67

Я получаю ту же ошибку

ERROR: Repository not found.   
fatal: The remote end hung up unexpectedly

и я создал хранилище на Github и клонировал его локально.

Я смог решить, открыв .git / config и удалив [remote "origin"]раздел.

[remote "origin"]   
   url = git@github.com:alexagui/my_project.git  
   fetch = +refs/heads/*:refs/remotes/origin/*

затем я запустил следующее (снова)

git remote add origin git@github.com:alexagui/my_project.git  
git push -u origin master

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


3
Не могли бы вы объяснить, как вы открыли .git / config и удалили раздел [remote "origin"]?
Дави Морейра

Я пришел сюда в поисках ответов на похожую проблему. Я создал новый репозиторий из IntelliJ IDEA, но получил то же сообщение об ошибке, когда попытался сделать свой первоначальный толчок. Ответ Алекса Агилара вдохновил меня зайти в файл .git / config и отредактировать URL-адрес хранилища так, чтобы он использовал мое имя пользователя с заглавной первой буквой, чего он изначально не делал. Это исправило мою проблему.
Vallle

.git/Каталог можно найти на корневой директории проекта.
Ги Имамура

Это также устранило проблему для меня - я пытался переключить пользователя в середине проекта, и это открыло мир боли
gotofritz

зачем это нужно? Я изменил свое имя пользователя и теперь сталкиваюсь со всевозможными проблемами.
HighOnMeat

46

Если вы используете Git в Windows , попробуйте очистить свои учетные данные:

  1. Найдите «Диспетчер учетных данных» (должен быть в вашей панели управления)
  2. Удалить все учетные данные, связанные с GitHub

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


3
Приятно - спасибо за этот удачный намек! Кстати, с помощью следующей команды вы можете перейти непосредственно к диспетчеру учетных данных: «control.exe / name Microsoft.CredentialManager»
Крис,

Спасибо, это спасет мой день.
Эми

это спасло мой день!
mvermand

1
Единственное, что сработало для меня
ЕДИНСТВЕННЫЕ ПРИРОДЫ

Это сработало, у меня был другой аккаунт на github, который вызвал проблему
Мохтар Ашур

27

Я получил эту ошибку (но раньше работал). Моей проблемой был отсутствующий ключ ssh, связанный с учетной записью Github. Вы можете проверить ваши текущие ключи SSH с ssh-add -l.

Если ваш ключ отсутствует, вы можете добавить его с помощью

ssh-add ~/.ssh/your_key

2
Я изменил свою учетную запись GitHub и, следовательно, должен был изменить свой существующий ключ SSH. Ваше исправление сработало, спасибо!
Томас Потэр

Самое простое решение, которое сработало для меня. Спасибо!
Доминик Поль

23

У меня была аналогичная проблема. Неправильные учетные данные были кэшированы в цепочке ключей OS X.

Проверьте: https://help.github.com/articles/updating-credentials-from-the-osx-keychain


3
Та же проблема. Я получаю remote: Repository not found.при доступе к приватному репо. Это потому, что все еще подключен к репо со старыми учетными данными (даже с новыми в локальной конфигурации git). Чтобы исправить 1) удалить ключ из брелка. 2) повторите команду в терминале. 3) Должны попросить имя пользователя и пароль.
Ник Ков

2
Это исправило проблему для меня. Ядерные учетные данные в цепочке для ключей, получили новый личный токен доступа через Github GUI, и я в порядке, спасибо.
Энтони

@ Антуан ответил, что случилось со мной. К сожалению, я нашел это после того, как решил проблему. В моем случае я только что включил 2FA (двухфакторную аутентификацию) (TFA). Это сломало мой пароль. Итак, я очистил учетные данные (как говорили люди на этой странице), но повторное копирование репозитория все же не удалось с моим паролем (наверное, из-за 2FA). Итак, я создал токен личного доступа ( help.github.com/articles/… ), чтобы использовать его вместо пароля. Я дал ему доступ к репо только потому, что он в командной строке.
cwingrav

19
git remote rm origin
git remote add origin <remote url>

Работал на меня. Эта проблема начала появляться после обновления git.
karthikdivi

Это сработало для меня, переключив URL-адрес https с помощью git @ one.
Скуа

17

Я использую Mac, и я изо всех сил пытался найти решение. Мой удаленный адрес был правильным и, как уже было сказано, это была проблема с учетными данными . Очевидно, в прошлом я использовал другую учетную запись Git на своем компьютере, и брелок Mac запомнил учетные данные предыдущей учетной записи, поэтому я действительно не был уполномочен использовать push.

Как исправить? Откройте Keychain Access на вашем Mac, выберите категорию «Все элементы» и найдите git. Удалить все найденные результаты.

Теперь идите в терминал и попробуйте снова нажать. Терминал запросит имя пользователя и пароль. Введите новые соответствующие учетные данные и все!

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


1
Спасибо, спасибо, спасибо, спасибо, спасибо, !!!!! Я уже бился головой о стену.
Потибас

Это действительно помогло. Перепробовал все и просто не мог понять. Push, Pull CLone, работает от IntelliJ, но не от терминала. После очистки брелка он работает как по волшебству.
Ачют

Для macOS это было единственное решение, которое работало для меня. Спасибо.
Нирадж

14

remote: Repository not found. может быть ошибочно вводящим в заблуждение сообщением об ошибке от при попытке нажать на удаленный HTTPS, где у вас нет прав на запись .

Проверьте свои права на запись в хранилище!

Попытка удаленного доступа SSH к одному и тому же хранилищу показывает другой ответ:

% git remote add ssh git@github.com:our-organisation/some-repository.git

% git fetch ssh
From github.com:our-organisation/some-repository
* [new branch]        MO_Adding_ECS_configs             -> ssh/MO_Adding_ECS_configs
* [new branch]        update_gems                       -> ssh/update_gems

% git push ssh     
ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

"Правильные права доступа?"

Ну, почему ты так не сказал?

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

Я понимаю, что в некоторых случаях GitHub использует «Not Found», где оно означает «Forbidden», чтобы предотвратить случайное использование частного хранилища.

Запросы, требующие аутентификации, будут возвращаться 404 Not Found, а не 403 Forbiddenв некоторых местах. Это необходимо для предотвращения случайной утечки частных репозиториев неавторизованным пользователям.

- GitHub

Это довольно распространенная практика в Интернете, она действительно определяется:

Код состояния 404 (не найден) указывает на то, что исходный сервер не нашел текущее представление для целевого ресурса или не хочет раскрывать его.

- 6.5.4. 404 Not Found, RFC 7231 HTTP / 1.1 Семантика и контент (выделено мое)

Что не имеет смысла для меня, так это то, что когда я проходил аутентификацию в GitHub с использованием помощника по учетным данным и у меня есть доступ к этому хранилищу (после успешного клонирования и извлечения его), GitHub решил скрыть свое существование от меня из-за отсутствия разрешений на запись.

Проверка https://github.com/our-organisation/some-repository/ с помощью веб-браузера подтвердила, что у меня нет разрешений на запись в хранилище . Администраторы нашей команды GitHub смогли предоставить моей команде доступ к записи за короткое время, и я смог подтолкнуть филиал вверх.


10

Если ваш репозиторий раньше работал нормально, и вдруг появляется эта ошибка, скорее всего, причина в том, что ваш git аутентифицирован как какой-то другой пользователь, который не имеет доступа к репозиторию . Таким образом, чтобы нажать, все, что вам нужно сделать, это указать правильное имя пользователя и пароль в вашей команде git. Итак, команда push для репозитория github будет выглядеть так:

git push https://youruser:password@github.com/user/reponame.git

username and passwordдолжен быть экранирован, поэтому @ следует заменить на % 40 и т. д.


Это сработало для меня впервые. Первоначально я создал проблему, удалив файл .gitconfig из C: / users / {username}
Майк Апджон,

9

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


1
Как именно это сделать? Было бы более полно, если бы вы могли добавить такую ​​информацию.
Ренато Назад

2
только что попал в ваш репозиторий git и щелкните по любому файлу и попробуйте отредактировать его. Если у вас нет прав на запись, вы увидите ошибку типа «вы пытаетесь редактировать файл ....»
mohor chatt

3
Быстрый способ проверить это нажать Create new file. Если вы получите сообщение «Вы создаете файл в проекте, к которому у вас нет прав на запись», то у вас нет прав на запись.
Висбуки

8

Была похожая проблема. Корень проблемы заключался в том, что я следовал некоторому онлайн-уроку о добавлении нового репозитория в Github.

Просто зайдите на Github, создайте новый репозиторий, он попросит вас добавить README, а не добавлять его. Создайте его, и вы получите инструкции о том, как нажать.

Это похоже на следующие две строки:

git remote add origin https://github.com/YOUR_USER/your-repo.git
git push -u origin master


8

Вот что сработало для меня:

1. Remotes

$ git remote rm origin
$ git remote add origin git@github.com:<USER>/<REPO>.git

Если ваш SSH-ключ уже используется другим представителем github, вы можете сгенерировать новый.

2. Генерация нового ключа SSH

$ ssh-keygen -t rsa -b 4096 -C "web@github.com"

3. Добавление ключа на уровне агента SSH

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa_github

4. Добавьте новый ключ в репозиторий Github.


7

Одной из проблем, которая может быть очевидна для некоторых, о которых я не упоминал, может быть то, что у вас есть доступ с помощью ключей ssh, но вы пытаетесь подключить локальное хранилище к удаленному через https.

Если это так, то следующие команды должны решить эту проблему для вас:

$ git remote -v
origin  https://github.com/private-repo.git (fetch)
origin  https://github.com/private-repo.git (push)
$ git remote rm origin
$ git remote add origin git@github.com:private-repo.git
$ git remote -v
origin  git@github.com:private-repo.git (fetch)
origin  git@github.com:private-repo.git (push)

Обратите внимание, что вышесказанное работает при условии, что:

  1. ваш текущий пульт имеет имя originи у вас уже есть сгенерированный ключ ssh, связанный с вашей учетной записью github

  2. у вас уже есть ключ ssh, связанный с вашей учетной записью github (и подключенный локально)

  3. у вас есть правильные права доступа (чтение / запись) на github для настроек этого репо.


Это сработало для меня. Но что было переломным изменением? Это работало отлично только на прошлой неделе, и это было репо, которое я имел в течение многих лет.
Дилан Ниссли

@DylanNissley, возможно, настройки безопасности репо изменились? Я не уверен, если честно. : /
Джон Доннер

6

Вам необходимо проверить доступ к SSH следующим образом:

ssh -T git@github.com

эта проблема была из-за того, что я не добавляю ответ человека на SSH в репозитории, узнайте больше о SSH link-1 , link-2 .


Это обнаружило проблему с несколькими ключами и файлом конфигурации, который не работал. Спасибо за совет.
DIBS

5

Следующее решило проблему для меня.

Сначала я использовал эту команду, чтобы понять, какая учетная запись github использовалась:

ssh -T git@github.com

Это дало мне ответ как это:

Hi <github_account_name>! You've successfully authenticated, but GitHub does not provide shell access. I just had to give the access to fix the problem.

Затем я понял, что пользователь Github, описанный в ответе (github_account_name), не авторизован в репозитории Github, который я пытался получить.


Что делать, если я получаю эту ошибку:The authenticity of host 'github.com (192.30.253.112)' can't be established. RSA key fingerprint is SHA256.... Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts. Permission denied (publickey).
Ник Ков

5

Вот как решить мою проблему

#check current github account
ssh -T git@github.com

#ensure the correct ssh key used with github
ssh-agent -s
ssh-add ~/.ssh/YOUR-GITHUB-KEY

#re-add the origin
git remote add origin git@github.com:YOUR-USER/YOUR-REPO.GIT
git push -u origin master

4

Если кто-то сталкивался с проблемой на github.com, проверьте, приняли ли вы приглашение после того, как владелец репо разрешил вам. Пока вы не примете приглашение, репо будет для вас невидимым. Так вы получитеERROR: Repository not found.


Спасибо, это исправило мою проблему.
Глен

1
То же самое здесь, я ожидаю, что сообщение об ошибке будет что-то вроде «У вас нет прав на запись» или что-то в этом роде. Спасибо что подметил это!
Мигель

Программное обеспечение от Линуса не является программным обеспечением, которое делает ожидаемые вещи.
Накилон

4

Проблема : Github по какой-то причине не знаком с вашим хранилищем.

Ошибка: запрашивается в git cli, например:

удаленный: хранилище не найдено. Неустранимый: хранилище " https://github.com/MyOrganization/projectName.git/ " не найдено

Решение: 2 варианта

  1. Github может быть не знаком с вашими учетными данными: - Первый вариант - клонировать проект с правильными учетными данными, user:passwordесли вы забыли это, или сгенерируйте токен ssh и настройте этот ключ в своем Github. акаgit push https://<userName>:<password>@github.com/Company/repositoryName.git

  2. Проблема с разрешениями репо у некоторых пользователей. В моем случае использования я решил эту проблему, когда понял, что у меня нет прав коллаборатора для Github в моем личном репо. Пользователи могут клонировать проект, но не выполнять какие-либо действия по происхождению. Чтобы решить это:

Перейдите в репозиторий на Github -> Настройки -> Соавторы и команды -> Добавить участника / сопровождающего ваших пользователей -> Теперь они получили разрешение на коммит и push


3

Изменение содержимого файла .git / config помогает, как сказал Алекс выше. У меня возникла та же проблема, и я думаю, что это потому, что я изменил свое имя пользователя Github. Локальные файлы не могут быть обновлены с изменениями. Так что, возможно, каждый раз, когда вы меняете свое имя пользователя, вы можете подумать о запуске

git remote add origin your_ssh_link_from_github

Надеюсь, это поможет ;)


3

У меня такая же проблема. Попробуйте следующее:

1. Изменение доступа к связке ключей в Mac для учетных данных git решило проблему для меня.
2. Сброс источника происхождения URL

git remote rm origin
git remote add origin git@github.com:account-name/repo-name.git

3

Если вы клонируете с помощью github, httpsно используете sshpush, вы также можете получить эту ошибку.

Чтобы исправить это, откройте .git/configи замените:

url = https://github.com/company/project.git

С

url = git@github.com:company/project.git

И вы должны быть в состоянии нажать без предупреждения ...


2

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

Проблема оказалась в том, что я добавил ключ развертывания для другого репо в мой агент SSH перед ключом SSH моего пользователя github (который я всегда использовал для доступа к рассматриваемому репо). Агент SSH сначала попробовал ключ развертывания для другого репо, а GitHub по какой-то совершенно необъяснимой причине говорил

ERROR: Repository not found.

После того, как я удалил ключ развертывания из агента SSH, все вернулось на круги своя.


2

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


В моем случае я настроил 2 учетные записи и добавил записи в .ssh / config для работы с псевдонимами и личных данных и забыл об этом. изменение исходной части в .git / config каталога проекта таким образом, чтобы у меня была работа вместо «github.com», решило проблему. Проблема заключалась в том, что при клонировании я использовал git@github.com: blahblah, а не git @ work: blahblah.
Сураб

2

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


1

У меня такая же проблема. Моя проблема заключалась в неправильном понимании того, что мне нужно было сначала создать пустое хранилище на github, прежде чем перейти к нему. Doh! Включая это здесь для тех, кто не понимает.


1

перейдите в папку вашего проекта, затем найдите папку .git, затем откройте файл конфигурации с помощью блокнота и проверьте, есть ли ваша ссылка на репозиторий github в разделе: [remote "origin"], если он отличается, то репозиторий в вашем github затем просто отредактируйте его или откройте новый репозиторий с именем в конфигурационном файле


1

Мое решение может быть полезно для некоторых из вас.

Я получил ту же ошибку после обновления ОС моего MacBook до Yosemite. Моя проблема была решена путем воссоздания моего ключа SSH. Вы можете сделать это, выполнив шаг 2 на этой странице: https://help.github.com/articles/generating-ssh-keys/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.