Не удалось выполнить Git -push master для Github
Этот вопрос связан с моей проблемой в понимании rebase, branch и merge,
и к проблеме
Как вы можете зафиксировать свою учетную запись 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".
Дерево git
dev
* master
ticgit
remotes/Math/Math
remotes/Math/master
remotes/origin/master
remotes/Masi/master
Как вы можете направить свою локальную ветвь в Github, в то время как у вас есть ветвь teamMate в локальном Git?
Ответ VonC решает основную проблему.
Я помещал passphares в мои ssh-ключи.
Я запустил
$git push github master
Я получаю
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Кажется, мне нужно каким-то образом предоставить кодовую фразу для git.
Как вы можете заставить Github запрашивать вашу кодовую фразу, а не полагаться на ключ ssh?
Ответы
Ответ 1
Что делает
$ git config --get-regexp '^(remote|branch)\.'
возвращает (выполняется в вашем репозитории git)?
Origin - это просто соглашение об именовании по умолчанию для ссылки на удаленный репозиторий git.
Если он не относится к GitHub (а скорее к пути к вашему репозиторию товарища по команде, путь, который больше не может быть действительным или доступным), просто добавьте другое происхождение, например, в Запись в блоге
$ git remote add origin2 [email protected]:myLogin/myProject.git
$ git push origin2 master
(я бы использовал имя "github", а не "origin" или "origin2" )
Разрешение отклонено (публикация).
фатальный: удаленный конец неожиданно повесил трубку
Проверьте, правильно ли указан ваш идентификатор gitHub в локальном репозитории git, как указано в справочном руководстве GitHub. (как user.name, так и github.name - и github.token)
Затем stonean blog предлагает (как Marcio Garcia):
$ 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 [email protected]
чтобы получить больше информации о том, почему соединение GitHub ssh отвергает вас.
Проверьте также, что вы правильно вводили свой открытый ключ (он должен заканчиваться на "==
" ).
Не вставляйте свой секретный ключ, а ваш общедоступный. Открытый ключ будет выглядеть примерно так:
ssh-rsa AAAAB3<big string here>== [email protected]
(Примечание: вы использовали кодовую фразу для ваших ssh-ключей? Было бы проще без кодовой фразы)
Проверьте также URL, используемый при нажатии ([email protected]/...
, not git://github.com/...
)
Убедитесь, что у вас есть агент SSH для использования и кеширования вашего ключа.
Попробуйте следующее:
$ ssh -i path/to/public/key [email protected]
Если это работает, значит, ваш ключ не отправляется GitHub вашим клиентом ssh.
Ответ 2
Это проблема с вашим пультом. Когда вы выполняете git push origin master
, origin
- это пульт, а master
- это ветвь, которую вы нажимаете.
Когда вы это сделаете:
git remote
Держу пари, что в список не входит origin
. Чтобы повторно добавить пульт дистанционного управления:
git remote add origin [email protected]:your_github_username/your_github_app.git
Или, если он существует, но отформатирован неправильно:
git remote rm origin
git remote add origin [email protected]:your_github_username/your_github_app.git
Ответ 3
Ответ VonC лучше, но часть, которая работала для меня, была очень простой и похожа на множество других возможных ответов. Если вы похожи на меня, вы столкнулись с этой проблемой при запуске учебника "Начало работы с рельсами", и вы не настроили ваши общедоступные/частные SSH-ключи.
Если да, попробуйте следующее:
После выполнения этих инструкций выполнялась моя команда "начальный хозяин" git.
Ответ 4
У меня такая же проблема, и я думаю, что брандмауэр блокирует протокол git.
Поэтому в итоге мне приходится прибегать к использованию https://для извлечения и нажатия. Однако это всегда заставляет пользователя вводить пароль...
вот пример того, что работает для меня (просто чтобы поделиться с теми, кто не может использовать git://protocol:)
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
Ответ 5
Я думаю, что другой случай сообщений об ошибках git вводит в заблуждение. Обычно, когда я видел эту ошибку, это связано с проблемами ssh. Вы добавили свой открытый ключ ssh в свою учетную запись github?
Изменить: Кроме того, сообщение форума xinet.d ссылается на запуск git -daemon в качестве службы, чтобы люди могли вытащить из вашей системы. Не нужно запускать git -demon для нажатия на github.
Ответ 6
У меня такая же проблема, и я просто добавил содержимое ~/.ssh/id_rsa.pub в свою учетную запись в GitHub. После этого попробуйте еще раз git push origin master
, он должен работать.
Ответ 7
Они должны помнить, что "происхождение" - это не то значение, которое вам может понадобиться использовать... он работал у меня, когда я заменил "origin" на имя репо.
Ответ 8
Одна из возможностей, что вышеупомянутые ответы не касаются, заключается в том, что у вас может не быть доступа ssh из вашей оболочки. То есть, вы можете быть в сети (некоторые сети колледжей делают это), где служба ssh заблокирована. В этом случае вы сможете не только получать службы github, но и любые другие службы ssh. Вы можете проверить, если это проблема, пытаясь использовать любую другую службу ssh. Это было со мной.
Ответ 9
У меня возникла эта проблема и я попробовал различные решения для ее решения, включая многие из перечисленных выше (файл конфигурации, debug ssh и т.д.). В конце концов, я разрешил его, включив переключатель -u в push git в соответствии с инструкциями github при создании нового репозитория на месте - Новый репозиторий Github