Этот вопрос связан с моей проблемой в понимании перебазирования, ветвления и слияния , а также с проблемой
Как вы можете зафиксировать свою учетную запись github, если у вас есть товарищ по команде в вашем удаленном списке?
Я узнал, что у других была такая же проблема. Проблема, похоже, связана с /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?
источник
Ответы:
Что значит
возвращает (выполняется в вашем репозитории git)?
Origin - это просто соглашение об именах по умолчанию для ссылки на удаленный репозиторий Git.
Если он не относится к GitHub (а скорее к пути к репозиторию вашего товарища по команде, путь, который может быть больше не действителен или недоступен), просто добавьте другое происхождение, как в этой записи Bloggitation
(Я бы на самом деле использовал имя github, а не origin или origin2)
Убедитесь, что ваш идентификатор gitHub правильно объявлен в вашем локальном репозитории Git, как указано в справочном руководстве GitHub . (и user.name, и github.name - и github.token)
Затем блог Stonean предлагает (как и Марсио Гарсия ):
Арал Балкан добавляет: создайте файл конфигурации
Вы также можете опубликовать результат
чтобы получить дополнительную информацию о том, почему соединение GitHub ssh отклоняет вас.
Также проверьте, правильно ли вы ввели свой открытый ключ (он должен заканчиваться на "
==
").Не вставляйте свой закрытый ключ, а свой открытый. Открытый ключ будет выглядеть примерно так:
(Примечание: вы использовали парольную фразу для своих ключей ssh? Было бы проще без парольной фразы)
Также проверьте URL-адрес, используемый при нажатии (
git@github.com/...
, неgit://github.com/...
)Убедитесь, что у вас есть агент SSH для использования и кеширования вашего ключа.
Попробуй это:
Если это работает, значит, ваш ключ не отправляется на GitHub вашим клиентом ssh.
источник
Это проблема с вашим пультом. Когда вы это сделаете
git push origin master
,origin
это удаленный компьютер иmaster
ветка, которую вы нажимаете.Когда вы это сделаете:
Бьюсь об заклад, в список не входит
origin
. Чтобы повторно добавить исходный пульт:Или, если он существует, но неправильно отформатирован:
источник
Ответ VonC - лучший, но часть, которая сработала для меня, была очень простой и отчасти похоронена среди множества других возможных ответов. Если вы похожи на меня, вы столкнулись с этой проблемой во время выполнения учебника «Начало работы с рельсами», и вы НЕ настраивали свои публичные / частные ключи SSH.
Если да, попробуйте следующее:
$>cd ~/.ssh
$>ls
Если вывод ls - это
known_hosts
и ничего больше, посетите: http://help.github.com/mac-key-setup/ и начните следовать инструкциям из раздела «Создание ключа» и ниже.После выполнения этих инструкций моя команда "git push origin master" заработала.
источник
git push origin master.
Это был мой первый раз, когда я настраивал Git и Rails. Надеюсь, это помогло другим людям.У меня такая же проблема, и я думаю, что брандмауэр блокирует протокол git. В конце концов, мне пришлось прибегнуть к использованию https: // для извлечения и отправки. Однако это всегда будет предлагать пользователю ввести пароль ...
вот пример того, что работает для меня (просто чтобы поделиться с теми, кто не может использовать протокол git: // :)
если вышеуказанное работает, вы можете удалить источник и заменить его на
источник
~/.netrc
файл, в котором хранится пароль. Он используетсяcurl
, и это то, что git использует для передачи HTTP (S), на случай, если вам нужно узнать подробности того, как его использовать.~/_netrc
('_
', а не '.
')Я думаю, что это еще один случай, когда сообщения об ошибках git вводят в заблуждение. Обычно, когда я вижу эту ошибку, это связано с проблемами ssh. Вы добавили свой публичный ключ ssh в свою учетную запись github?
Изменить: Кроме того, сообщение на форуме xinet.d относится к запуску git-daemon как службы, чтобы люди могли извлекать из вашей системы. Необязательно запускать git-daemon для отправки на github.
источник
У меня та же проблема, и я просто добавил содержимое ~ / .ssh / id_rsa.pub в свою учетную запись в GitHub. После этого просто попробуйте еще раз
git push origin master
, он должен работать.источник
Важно помнить, что «origin» - это не то значение, которое вам может понадобиться ... это сработало для меня, когда я заменил «origin» на имя репо.
источник
Одна из возможностей, о которой не говорится в приведенных выше ответах, заключается в том, что у вас может не быть доступа ssh из вашей оболочки. То есть вы можете находиться в сети (некоторые сети колледжей это делают), где служба ssh заблокирована. В этом случае вы сможете получить не только службы github, но и любые другие службы ssh. Вы можете проверить, является ли это проблемой, попробовав использовать любую другую службу ssh. Так было и со мной.
источник
У меня была эта проблема, и я пробовал различные решения для ее решения, включая многие из перечисленных выше (файл конфигурации, отладка ssh и т. Д.). В конце концов, я решил это, включив переключатель -u в git push в соответствии с инструкциями github при создании нового репозитория на сайте - Github new Repository
источник