Git: фатальный: не удалось прочитать из удаленного хранилища
Я пытаюсь установить git с помощью http://danielmiessler.com/study/git/#website для управления моим сайтом.
Я добрался до последнего шага в инструкциях: git push website + master: refs/heads/master
Я работаю с помощью командной строки git ming32 в win7
$ git push website +master:refs/heads/master
[email protected]***.com password:
Connection closed by 198.91.80.3
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Одна из проблем может заключаться в том, что программа ищет [email protected]***.com. когда я подключаюсь через ssh к моему сайту, у меня другое имя пользователя (скажем, "abc" ). поэтому, возможно, это должно быть [email protected]***.com. Если так, я не знаю, как это изменить, или если я могу нажать под псевдонимом
Ответы
Ответ 1
Вы можете указать имя пользователя, которое SSH должен отправить в удаленную систему как часть удаленного URL. Поместите имя пользователя, а затем @
, перед удаленным именем хоста.
git remote set-url website [email protected]***.com:path/to/repo
Ответ 2
Ваш ключ ssh, скорее всего, был удален из агента ssh
ssh-add ~/.ssh/id_rsa
где id_rsa - это ключ ssh, связанный с git repo
Ответ 3
Убедитесь, что у вас правильный URL-адрес в .git/config
url = [email protected]:username/repo.git
Если это ваш первый толчок, вам нужно будет настроить правильный вверх по течению
$ git push -u origin master
Вы можете проверить, какой ключ используется:
$ ssh -vvv [email protected]
В ответе должно быть что-то вроде этого:
debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/id_rsa
...
You've successfully authenticated, but GitHub does not provide shell access.
Также можно определить правила для ssh в ~/.ssh/config
, например. на основе псевдонимов:
Host github
HostName github.com
User git
IdentityFile "~/.ssh/id_rsa"
Host git
HostName github.com
User git
IdentityFile "~/.ssh/some_other_id"
Вы можете установить подключение к различным портам, использовать другое имя пользователя и т.д. для каждого псевдонима.
Ответ 4
Я сталкивался с тем же вопросом некоторое время назад...
my.git/config имеет
url = [email protected]:manishnakar/polymer-demo.git
Я заменил его на
url = https://github.com/manishnakar/polymer-demo.git
и теперь он работает:)
Ответ 5
Попробуйте удалить переменную среды GIT_SSH с помощью unset GIT_SSH
. Это стало причиной моей проблемы.
Ответ 6
Это обычно вызвано тем, что SSH-ключ не соответствует удаленным.
Решения:
-
Перейдите к терминалу и введите следующую команду (Mac, Linux), заменив свой идентификатор электронной почты.
ssh-keygen -t rsa -C "[email protected]"
-
Скопируйте сгенерированный ключ, используя следующую команду, начиная с слова ssh.
cat ~/.ssh/id_rsa.pub
- Вставьте его в github, bitbucket или gitlab, соответствующие вашему пульту.
- Сохраните его.
Ответ 7
Убедитесь, что ssh-agent запущен, выполнив следующую команду на своем терминале:
eval $(ssh-agent -s)
Источник: документация Github.
Ответ 8
После некоторого исследования я наконец получил решение для этого, вы указали переменную окружения в путь plink.exe. Поэтому, если вы удалите этот путь, снова откройте git bash и попробуйте клонировать через SSH, он будет работать.
Обратитесь к этой ссылке
http://sourceforge.net/p/forge/site-support/2959/#204c
Ответ 9
У меня была такая же проблема.
Эта ошибка означает, что вы не указали свой удаленный URL-адрес, на который будет распространяться ваш код.
Вы можете установить удаленный URL-адрес двумя (в основном) способами:
Укажите удаленный URL с помощью команды Git Bash.
Упоминание удаленного URL прямо в конфигурационном файле
Перейдите в каталог вашего проекта
Перейдите в .git папку
.Откройте файл config в текстовом редакторе
Скопируйте и вставьте ниже строки
[remote "origin"]
url = https://abc.xyz/USERNAME/REPOSITORY.git
fetch = +refs/heads/*:refs/remotes/origin/*
Для получения более подробной информации перейдите по этой ссылке.
Ответ 10
У меня была такая же ошибка.
Решение следующее:
Я исправил свой URL-адрес в .git/config
.
Просто скопировал это из URL-адреса клона HTTPS. Это было бы примерно так:
url = https://github.com/*your*git*name*/*your*git*app*.git
Это сработало.
Ответ 11
Если вы используете Gitlab, вам может потребоваться войти в систему и принять новые условия Gitlab, прежде чем пытаться вытащить или нажать.
Ответ 12
Другое обходное решение:
Иногда это случается со мной из-за сетевых проблем. Я полностью не понимаю проблему с корнем, но переход на другую подсетевую сеть или использование VPN разрешает ее
Ответ 13
В вашем файле .git/config
[remote "YOUR_APP_NAME"]
url = [email protected]:YOUR_APP_NAME.git
fetch = +refs/heads/*:refs/remotes/YOUR_APP_NAME/*
И просто
git push YOUR_APP_NAME master:master
Ответ 14
В моем случае я использую корпоративную сеть (без подключения к Интернету) в офисе. Чтобы вытащить код из github, я устанавливаю https-прокси в gitbash, а затем использую https вместо ssh, чтобы вытащить код, он отлично работает. Однако, когда вы нажимаете код, прокси-сервер https не будет работать. Таким образом, любой из них может переключиться на интернет-сеть (с подключением к Интернету) или установить прокси-сервер ssh.
Ответ 15
На самом деле я пробовал много вещей, чтобы заставить его работать на Win7, поскольку он меняет SSH exectun fron native на build-it и назад и ту же ошибку.
Случайно, я изменяю его на HTTPS в файле .git/config:
[remote "origin"]
url = https://github.com/user_name/repository_name.git
fetch = +refs/heads/*:refs/remotes/origin/*
и он наконец-то сработал. Так что, возможно, это может сработать и для вас.
Ответ 16
В моем случае я использовал ключ ssh с паролем для аутентификации с помощью github. Я не настроил правильную настройку в Windows (только в cygwin). Недопустимые шаги заключались в том, чтобы указать переменную окружения git_ssh в plink.exe. Кроме того, вам нужно получить github.com в plink known_hosts.
plink github.com
y
<then ctrl-c>
Надеюсь, это поможет!
Я уверен, что желание intellij дало бы мне более полезную ошибку, или еще лучше попросило меня ввести пароль ssh.
Ответ 17
У меня была такая же проблема, и через некоторое время я увидел, что я под пользователем root (с sudo -s). Пусть это поможет кому-то.
Ответ 18
Если после команды "git push origin master" вы видите ошибку "не удалось прочитать из удаленного репозитория", попробуйте это
1.ssh-keygen -t rsa -b 4096 -C "youremail"
2.eval $(ssh-agent -s)
3.ssh-add ~/.ssh/id_rsa
4.clip < ~/.ssh/id_rsa.pub(it copies the ssh key that has got generated)
5.then go to your remote repository on github and goto settings-> SSH and GPG keys ->new SSH key ->enter any title and paste the copied SSH key and save it
6. now give git push origin master
Ответ 19
У меня был прекрасно работающий мерзавец, и внезапно я получил эту ошибку, когда попытался нажать на мастера. Как я выяснил, это произошло из-за проблем с хостом хранилища.
Если вы используете GitHub или Bitbucket, вы можете легко проверить статус на
https://status.github.com/messages или https://status.bitbucket.org/
![enter image description here]()
Ответ 20
У меня есть эта ошибка после смены компьютеров. Я использую SourceTree с Bitbucket.
Поэтому мне пришлось добавить SSH-ключ, сгенерированный SourceTree, на новом компьютере, в настройках Bitbucket Settings > Security > SSH, а затем подключиться к моей учетной записи Bitbucket в Интернете.
Ответ 21
Я решил эту проблему, перезапустив терминал (откройте новое окно/вкладку).
Так что, если вы действительно не хотите/не должны понимать основную проблему, стоит попробовать метод тестирования, прежде чем копать глубже :)
Ответ 22
Для тех, у кого есть эта проблема на частном удаленном репо. убедитесь, что вы приняли соглашение Xcode на удаленном сервере: нам потребовались недели, чтобы узнать это исправление.
Используйте эту команду из командной строки: sudo xcodebuild -license
Ответ 23
Я просто хотел поделиться тем, что нашел легкое решение для этого:
Доступ запрещен.
fatal: Не удалось прочитать из удаленного репозитория.
Убедитесь, что у вас есть правильные права доступа
и существует репозиторий.
просто выйти из gitlab и снова войти. Затем проблемы должны быть исправлены.
Ответ 24
При использовании putty/pageant убедитесь, что вы не забыли добавить правильный SSH-ключ к конкурсу, иначе появится эта ошибка. DUH
Ответ 25
В моем случае это был postBuffer..
git config --global http.postBuffer 524288000
Для справки: https://gist.github.com/marcusoftnet/1177936
Ответ 26
Перейдите к терминалу MINGW32, поставьте эту команду: git branch --set-upstream-to = origin/(название ветки)
Ответ 27
Если вы все еще получаете ту же ошибку, убедитесь, что для параметра git settings- > ssh tab- > ssh для использования установлено значение openSSH ![введите описание изображения здесь]()
Ответ 28
У меня была такая же ошибка, которая привела меня к этому ответу, который мне не помог.
Я пытался создать новый "голый" репозиторий в первый раз, используя приведенные ниже команды для отслеживания местоположения NTFS:
cd myrepository
git init --bare \\myserver.mycompany.local\myrepository.git
git init
git status
git add .
git status
git commit -m "Initial Commit"
git remote add origin \\myserver.mycompany.local\myrepository.git
git push -u origin master
git status
Моя проблема заключалась в использовании обратных косых черт вместо косой черты в местоположении NTFS при попытке добавить начало координат для установки (новой) отслеживаемой ветки вверх.
Мне пришлось удалить начало координат, используя:
git remote rm origin
Затем добавьте начало координат, используя ожидаемую косую черту
git remote add origin //myserver.mycompany.local/myrepository.git
Надеюсь, это поможет кому-то в будущем.
Ответ 29
Согласно моему опыту, одна из причин возникла эта проблема, потому что у вас есть нестабильное интернет-соединение.
Ответ 30
Я столкнулся с той же проблемой; просто вы можете запустить это в своем командном окне:
git remote add origin https://your/repository/url