Невозможно выполнить Git-push master для Github - "origin", по-видимому, не является хранилищем git / разрешение отклонено
Этот вопрос связан с моей проблемой понимания перебазирования, ветвления и слияния, а также с проблемой
Как вы можете зафиксировать свою учетную запись на github, если в вашем удаленном списке есть teamMate?
Я узнал, что у других людей была такая же проблема. Проблема, похоже, связана с /etc/xinet.d/.
Проблема: не удалось перенести мою локальную ветку в основную ветку на Github
я бегу
git push origin master
я получил
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Сообщение об ошибке подсказывает мне, что ветка 'origin' отсутствует в моем локальном репозитории git. Таким образом, Git перестает подключаться к Github.
Это странно, так как я не удалил ветку 'origin'.
Мое мерзавец дерево
dev
* master
ticgit
remotes/Math/Math
remotes/Math/master
remotes/origin/master
remotes/Masi/master
Как вы можете отправить свою локальную ветку на Github, если у вас есть ветка teamMate в вашей локальной Git?
Ответ VonC решает основную проблему. Я поставил пароли к своим ключам SSH.
я бегу
$git push github master
я получил
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Кажется, мне нужно как-то дать пароль для Git.
Как вы можете заставить Github запрашивать пароль, а не полагаться на ключ ssh?
9 ответов
Что значит
$ git config --get-regexp '^(remote|branch)\.'
возвращает (выполняется в вашем git-хранилище)?
Origin - это соглашение о присвоении имен по умолчанию для ссылки на удаленный Git-репозиторий.
Если это не относится к GitHub (а скорее к пути к вашему репозиторию товарища по команде, путь, который больше не может быть действительным или доступным), просто добавьте другой источник, как в этой записи Bloggitation.
$ git remote add origin2 git@github.com:myLogin/myProject.git
$ git push origin2 master
(Я бы на самом деле использовал имя "github", а не "origin" или "origin2")
В доступе отказано (publickey).
фатальный: удаленный конец неожиданно завис
Проверьте, правильно ли ваша личность на gitHub объявлена в вашем локальном репозитории Git, как указано в справочном руководстве GitHub. (и user.name, и github.name - и github.token)
Затем блог Stonean предлагает (как и Марсио Гарсия):
$ cd ~/.ssh
$ ssh-add id_rsa
Aral Balkan добавляет: создать файл конфигурации
Решением было создать файл конфигурации в ~/.ssh/, как указано в нижней части раздела OS X на этой странице.
Вот файл, который я добавил согласно инструкциям на странице, и мои толчки снова начали работать:
Host github.com
User git
Port 22
Hostname github.com
IdentityFile ~/.ssh/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
Вы также можете опубликовать результат
ssh -v git@github.com
чтобы получить больше информации о том, почему соединение GitHub SSH отклоняет вас.
Проверьте также, что вы правильно ввели свой открытый ключ (он должен заканчиваться на '==
").
Не вставляйте свой закрытый ключ, но ваш открытый. Открытый ключ будет выглядеть примерно так:
ssh-rsa AAAAB3<big string here>== tek...@gmail.com
(Примечание: вы использовали парольную фразу для своих ключей SSH? Было бы проще без парольной фразы)
Проверьте также URL-адрес, используемый при нажатии (git@github.com/...
не git://github.com/...
)
Убедитесь, что у вас есть агент SSH для использования и кеширования вашего ключа.
Попробуй это:
$ ssh -i path/to/public/key git@github.com
Если это работает, то это означает, что ваш ключ не отправляется на GitHub вашим ssh-клиентом.
Это проблема с вашим пультом. Когда вы делаете git push origin master
, origin
это пульт и master
это ветвь, которую вы нажимаете.
Когда вы делаете это:
git remote
Бьюсь об заклад, список не включает origin
, Чтобы повторно добавить исходный пульт:
git remote add origin git@github.com:your_github_username/your_github_app.git
Или, если он существует, но отформатирован неправильно:
git remote rm origin
git remote add origin git@github.com:your_github_username/your_github_app.git
Ответ VonC самый лучший, но та часть, которая сработала для меня, была очень простой и в некотором роде похоронена среди множества других возможных ответов. Если вы похожи на меня, вы столкнулись с этой проблемой, выполняя учебное пособие "Приступая к работе с rails", и вы НЕ установили свои публичные / приватные ключи SSH.
Если так, попробуйте это:
$>cd ~/.ssh
$>ls
Если вывод команды ls
known_hosts
и ничего больше, посетите: http://help.github.com/mac-key-setup/ и начните следовать инструкциям из раздела "Генерация ключа" и вниз.
После выполнения этих инструкций сработала моя команда "git push origin master".
У меня та же проблема, и я думаю, что брандмауэр блокирует протокол git. Итак, в конце я должен прибегнуть к использованию https:// для извлечения и отправки. Однако это всегда побудит пользователя ввести пароль...
Вот пример того, что работает для меня (просто поделиться с теми, кто не может использовать протокол git://:)
git fetch https://[user-name]@github.com/[user-name]/[project].git
Если вышеперечисленное работает, вы можете удалить происхождение и заменить на
git remote rm origin
git remote add origin https://[user-name]@github.com/[user-name]/[project].git
У меня возникла та же проблема, и я просто добавил содержимое ~/.ssh/id_rsa.pub в свою учетную запись в GitHub. После этого просто попробуйте еще раз git push origin master
, он должен работать.
Я думаю, что это еще один случай, когда сообщения об ошибках Git вводят в заблуждение. Обычно, когда я видел эту ошибку, это из-за проблем с ssh. Вы добавили свой публичный ключ ssh в свою учетную запись на github?
Изменить: Кроме того, сообщение на форуме xinet.d относится к запуску git-daemon в качестве службы, чтобы люди могли выходить из вашей системы. Нет необходимости запускать git-daemon для отправки на github.
Им нужно помнить, что "происхождение" - это не то значение, которое вам, возможно, нужно использовать... это сработало для меня, когда я заменил "происхождение" именем репо.
Одна из причин, по которой вышеприведенные ответы не рассматриваются, заключается в том, что у вас может не быть доступа ssh из вашей оболочки. То есть вы можете находиться в сети (некоторые сети колледжей делают это), где служба ssh заблокирована. В этом случае вы сможете получать не только службы github, но и любые другие службы ssh. Вы можете проверить, если это проблема, попытавшись использовать любой другой сервис SSH. Это было со мной.
У меня была эта проблема, и я пытался решить ее различными способами, включая многие из перечисленных выше (файл конфигурации, отладка ssh и т. Д.). В конце концов я решил эту проблему, включив ключ -u в команду git push в соответствии с инструкциями github при создании нового репозитория на месте - Github new Repository.