GIT Push ERROR: сховище не знайдено


355

У мене є дуже дивна проблема з 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 файл. Я поклав ім’я користувача в URL-адресу [remote "origin"]розділу розділу.
Ахмед Джеханзайб

Відповіді:


512

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

Повідомлення про помилку Git вводить в оману. У мене було подібне питання. Мене додали до вже існуючого проекту. Я її клонував і вчинив місцеві зміни. Я пішов натиснути і діставERROR: Repository not found. повідомлення помилку.

Людина, яка додала мене до проекту, надала мені доступ лише до читання до сховища. Зміна їх, і я зміг підштовхнути.


290
Треба любити ті корисні повідомлення про помилки Git. Не можете знайти сховище, з якого я щойно клонував, так? Брехун.
Грант Бірхмайер

так само тут проблема - жодних прав на вчинення, і ви отримуєте це дуже
неясне

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
повторне

5
це працює, але, звичайно, багато людей вважають це проблемою безпеки; використовуйте з обережністю
Олександр Міллс

Це працювало для мене. Раніше я використовував Git Bash для іншого облікового запису і не міг зрозуміти, як змінити обліковий запис, так що ви йдете. Не подобається, але це працює.
HartleySan

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

1
Ти щойно врятував мій товариш! Ура!
Елдхо Пол Конанал

105

У мене була така ж проблема, з приватним репо.

зробіть наступне:

видалити віддалене походження

git remote rm origin

повторно додайте походження, але за допомогою свого імені користувача та pwd з правами написання на цьому репортажі pvt

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

12
Що робити, якщо пароль має @?
AnupamChugh

16
@AnupamChugh вам потрібно замінити "@" на "% 40" у вашому паролі. В основному ви можете перевірити, запустивши JS-кодencodeURIComponent(password)
elquimista

1
Рекомендую скористатися довідковою інформацією, а не зберігати пароль у простому тексті: help.github.com/articles/caching-your-github-password-in-git
Johnsyweb

2
Дякую, що це допомогло без проблем!
Матан Дахан

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

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 та видалили розділ [віддалене "походження"]?
Даві Морейра

Я прийшов сюди шукати відповіді на подібну проблему. Я створив нове сховище з IntelliJ IDEA, але отримав те саме повідомлення про помилку, коли я намагався зробити свій перший поштовх. Відповідь Алекса Агілара надихнула мене зайти у файл .git / config та відредагувати URL-адресу сховища, щоб він використовував моє ім’я користувача з великої літери, що спочатку не робило. Це вирішило мою проблему.
Валле

.git/Каталог можна знайти на кореневій директорії проекту.
Gui Imamura

Це також вирішило проблему для мене - я намагався переключити користувача в середині проекту, і це відкрило світ болю
gotofritz

навіщо це потрібно? Я змінив своє ім’я користувача, і тепер я стикаюся з усілякими проблемами.
HighOnMeat

46

Якщо ви використовуєте Git в Windows , спробуйте очистити свої облікові дані:

  1. Знайдіть "менеджера даних" (має бути на панелі керування)
  2. Видаліть усі облікові дані, пов’язані з GitHub

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


3
Приємно - дякую за цей вдалий підказку! BTW, за допомогою наступної команди ви можете перейти безпосередньо до менеджера даних облікових даних: "control.exe / name Microsoft.CredentialManager"
Кріс

Дякую, це врятує мій День.
Емі

це врятувало мені день!
mvermand

1
Єдине, що працювало на мене
WHOATEMYNOODLES

Це спрацювало, у мене був ще один обліковий запис на github, який спричинив проблему
Mokhtar Ashour

27

Я отримав цю помилку (але раніше працював). Моєю проблемою була відсутність ключа ssh, пов’язаного з обліковим записом Github. Ви можете перевірити поточні ключі sshssh-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.при зверненні до приватного репо. Це було тому, що все ще підключено до repo зі старими обліковими записами (навіть з новими в локальній конфігурації 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.
Skoua

17

Я використовую Mac, і я намагався знайти рішення. Моя віддалена адреса була правильною, і, як було сказано, це проблема з обліковими записами . Мабуть, раніше я використовував інший обліковий запис Git на своєму комп’ютері, і Macchacha Keychain запам'ятав облікові дані попереднього облікового запису, тому я насправді не мав права натискати.

Як виправити? Відкрийте Keychain Access на своєму mac, виберіть категорію "Усі товари" та знайдіть git. Видалити всі знайдені результати.

Тепер перейдіть до терміналу і спробуйте натиснути ще раз. Термінал запитає ім’я користувача та пароль. Введіть нові відповідні облікові дані і все!

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


1
Дякую дякую дякую дякую дякую дякую дякую !!!!! Я вже стукав головою об стіну.
potibas

Це справді допомогло. Перепробував усе і просто не міг зрозуміти. Push, Pull CLone, працює від IntelliJ, але не від Terminal. Після очищення брелка це працює як магія.
Ахют

Для 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 використовує "Не знайдено" там, де це означає "Заборонено" за певних обставин, щоб запобігти ненавмисному шануванню існування приватного сховища.

Запити, які потребують автентифікації , в деяких місцях повернуться 404 Not Found, а не 403 Forbidden. Це запобігає випадковому витоку приватних сховищ стороннім користувачам.

- GitHub

Це досить поширена практика в Інтернеті, адже вона визначена:

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

- 6.5.4. 404 не знайдено, RFC 7231 HTTP / 1.1 семантика та зміст (моє наголос)

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

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


10

Якщо раніше ваше репо працювало нормально, і раптом ця помилка з'являється, швидше за все, причиною буде те, що ваш git має автентифікацію як інший користувач, який не має доступу до сховища . Отже, щоб натиснути, все, що вам потрібно зробити, - це вказати своє правильне ім’я користувача та пароль у своїй команді git. Отже, кнопкова команда для github repo виглядатиме так:

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

username and passwordпотребує відхилення від URL-адреси, тому @ слід замінити на % 40 тощо.


Це працювало для мене вперше. Я створив проблему спочатку, видаливши .gitconfig з C: / users / {ім'я користувача}
Майк Апьон

9

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


1
Як саме це робити? Було б більш повно, якби ви могли додати таку інформацію.
Ренато Назад

2
просто потрапили до вашого сховища git і натисніть на будь-який файл і спробуйте його відредагувати. Якщо у вас немає доступу до запису, то ви побачите помилку типу "ви намагаєтесь відредагувати файл ...."
mohor chatt

3
Швидкий спосіб перевірити - це натиснути Create new file. Якщо ви отримаєте повідомлення з надписом "Ви створюєте файл у проекті, до якого не маєте доступу для запису", то у вас немає доступу для запису.
wisbucky

8

Мав подібне питання. Корінь проблеми полягав у тому, що я дотримувався деякого онлайн-підручника щодо додавання нового сховища в Github.

Просто перейдіть до Github, створіть нове репо, воно попросить вас додати README, не додавати його. Створіть його, і ви отримаєте інструкції, як натиснути.

Це схоже на наступні два рядки:

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


8

Ось що для мене спрацювало:

1. Пульти

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


Це виявило проблему з декількома ключами та конфігураційним файлом, який не працював. Дякую за пораду.
дабр

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).
Nik Kov

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
Тут я б очікував, що повідомлення про помилку буде чимось на зразок "Ви не маєте дозволу писати" або щось подібне. Дякуємо, що вказали на це!
Мігель Перес

Програмне забезпечення від Linus - це не програмне забезпечення, яке робить очікувані речі.
Накілон

4

Проблема : Github чомусь не знайомий з вашим сховищем.

Помилка: в git cli запропоновано наступне:

віддалений: сховище не знайдено. fatal: сховище ' https://github.com/MyOrganization/projectName.git/ ' не знайдено

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

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

  2. Випуск дозволів Repo з деякими користувачами - У моєму випадку використання я вирішив цю проблему, коли зрозумів, що у Github у моїй приватній репо- службі немає дозволів для співпраці . Користувачі можуть клонувати проект, але не виконувати жодних дій щодо походження. Для того, щоб вирішити це:

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


3

Зміна вмісту .git / config-файлу допомагає, як Алекс сказав вище. У мене виникла та сама проблема, і я думаю, що це було через те, що я змінив своє ім’я користувача Github. Не вдалося оновити локальні файли зі змінами. Тому, можливо, будь-коли, коли ви зміните своє ім’я користувача, ви можете розглянути можливість запуску

git remote add origin your_ssh_link_from_github

Я сподіваюся, що це допомагає;)


3

У мене була така ж проблема. Спробуйте наступне:

1. Змінення доступу Keychain в Mac для облікових даних git вирішило проблему для мене.
2. Скидання URL-адреси походження

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

3

Якщо ви клонуєте з github за допомогою, httpsале ви використовуєтеssh push, ви також можете отримати цю помилку.

Щоб виправити це, відкрийте .git/configта замініть:

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

З

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

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


2

Випробували таку ж проблему. Все працювало нормально роками і тут раптом ця помилка.

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

ERROR: Repository not found.

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


2

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


У моєму випадку я створив 2 акаунти та додав записи до .ssh / config для роботи з псевдонімом та особистого та забутого про це. змінивши початкову частину в .git / config каталогу каталогу, щоб я працював замість 'github.com' вирішив проблему. Проблема полягала в тому, що під час клонування я використовував git@github.com: blahblah, а не git @ work: блахбла.
sourabh

2

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


1

У мене була така ж проблема. Моє питання полягало в нерозумінні того, що я повинен спершу створити порожнє репо на github, перш ніж натискати на нього. До! Включаючи це сюди для всіх, хто цього не усвідомлює.


1

перейдіть у папку свого проекту, потім знайдіть папку .git, потім відкрийте конфігураційний файл із блокнотом і перевірте, чи є ваше посилання на рето github у розділі: [віддалене "походження"], якщо воно інше, то репо у вашому github потім просто відредагуйте його або відкрийте нове репо з ім'ям у файлі in config


1

Моє рішення може бути корисним для когось із вас.

Я отримав таку ж помилку після оновлення ОС моєї книги на Yosemite. Мою проблему виправили завдяки відтворенню мого ключа ssh. Зробити це можна, виконавши крок 2 цієї сторінки: https://help.github.com/articles/generating-ssh-keys/

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