github недавно перешел на схему https по умолчанию для клонирования репозиториев. в качестве побочного эффекта вам может внезапно потребоваться ввести «Имя пользователя» и «Пароль», когда вы нажмете, где раньше вы могли это сделать, не вводя учетные данные. решение состоит в том, чтобы заставить git кэшировать учетные данные https, что легко, поскольку git использует curl под оболочкой
в вашем домашнем каталоге, например, для создания файла с именем .netrc
/Users/ahoward/.netrc
в него поместите это содержимое
machine github.comlogin YOUR_GITHUB_USERNAMEpassword YOUR_GITHUB_PASSWORD
исправлено !
Почему Github запрашивает имя пользователя и пароль, следуя инструкциям на экране и нажимая на новое репо?
I Я владелец организации на github, только что создал репо и попытался нажать, но у меня возникла проблема, когда он запрашивает у меня мое имя пользователя, хотя я прекрасно могу использовать SSH:
$ ssh -T git@github.com Привет, Celc! Вы успешно прошли аутентификацию, но GitHub не предоставляет доступ к оболочке. $ Git add. $ Git commit -m 'first commit' [master (root-commit) 3f1b963] first commit 6 файлов изменены, 59 вставок (+) режим создания 100644 .gitignore режим создания 100644 main.js режим создания 100644 package.json режим создания 100644 readme.markdown режим создания 100644 views/index.ejs режим создания 100644 views/layout.ejs $ git remote add origin https://github.com/WEMP /project-slideshow.git$ git push -u origin master Имя пользователя для 'https://github.com':
Что я делаю не так? Со мной такого никогда не случалось раньше, но я недавно также обновился до git 1.7.10.3.
Не используйте HTTP, вместо этого используйте SSH
изменить
https://github.com/WEMP/project-slideshow.git
до
git@github.com: WEMP/project-slideshow.git
вы можете сделать это в .git/config
файл
У меня была такая же проблема и задавался вопросом, почему этого не произошло с репозиторием bitbucket, который был клонирован с помощью https. Немного посмотрев на это, я обнаружил, что в конфигурации репозитория BB есть URL-адрес, включающий мое имя пользователя. Итак, я вручную отредактировал конфигурацию для моего репозитория GH, и вуаля, больше не нужно запрашивать имя пользователя. У меня Windows.
Отредактируйте your_repo_dir/.git/config
(помните: папка .git
скрыта)
Change:
https://github.com/WEMP/project-slideshow.git
в:
https://* имя пользователя*@github.com/WEMP/project-slideshow.git
Сохраните файл. Выполните git pull
, чтобы проверить это.
Правильный способ сделать это, вероятно, – использовать команды git bash для редактирования параметра, но редактирование файла напрямую не выполнялось. не кажется проблемой.
-
Это хороший момент, если вы включите имя пользователя, оно будет обрабатываться связкой ключей ОС (по крайней мере это должно быть в OSX и, очевидно, в Windows тоже). Нет никакой разницы между редактированием файла с помощью блокнота или vim/emacs/nano/vi, я бы не стал так беспокоиться о техническом снобизме, это просто текстовый файл. – Kit Sunde 28 фев. ’13 в 20:19
У меня была такая же проблема, и я задавался вопросом, почему этого не произошло с репозиторием bitbucket, который был клонирован с помощью https. Немного посмотрев на это, я обнаружил, что в конфигурации репозитория BB есть URL-адрес, включающий мое имя пользователя. Итак, я вручную отредактировал конфигурацию для моего репозитория GH, и вуаля, больше не нужно запрашивать имя пользователя. У меня Windows.
Отредактируйте your_repo_dir/.git/config
(помните: папка .git
скрыта)
Change:
https://github.com/WEMP/project-slideshow.git
в:
https://* имя пользователя*@github.com/WEMP/project-slideshow.git
Сохраните файл. Выполните git pull
, чтобы проверить это.
Правильный способ сделать это, вероятно, – использовать команды git bash для редактирования параметра, но редактирование файла напрямую не выполнялось. Кажется, это не проблема.
Вот официальный ответ на это:
Если Git запрашивает имя пользователя и пароль каждый раз, когда вы пытаетесь взаимодействовать с GitHub, вы, вероятно, используете URL-адрес клона HTTPS. для вашего репозитория.
Использование удаленного URL-адреса HTTPS имеет некоторые преимущества: его проще настроить, чем SSH, и обычно он работает через строгие брандмауэры и прокси. Однако он также предлагает вам ввести свои учетные данные GitHub каждый раз, когда вы извлекаете или отправляете репозиторий.
Вы можете настроить Git так, чтобы ваш пароль сохранялся для вас. Если вы хотите это настроить, прочитайте все о настройке кеширования паролей..

-
1Спасибо. Я бы поспорил с Github, что настроить его будет не легче, если вы окажетесь здесь (: – ecoologic 30 марта 2019 г., 23:34
-
Это ответ на вопрос, потому что вопрос спрашивает: ПОЧЕМУ ? – Эли 31 июля. ’19 в 5:08
Вот официальный ответ на это:
Если Git запрашивает имя пользователя и пароль каждый раз, когда вы пытаетесь взаимодействовать с GitHub, вы возможно, используется URL-адрес клона HTTPS для вашего репозитория.
Использование удаленного URL-адреса HTTPS имеет некоторые преимущества: его легче настроить, чем SSH, и обычно он работает через строгие брандмауэры и прокси. Однако он также предлагает вы должны вводить свои учетные данные GitHub каждый раз, когда вы извлекаете или отправляете репозиторий.
Вы можете настроить Git для хранения вашего пароля для вас. Если вы хотите установить это, прочтите все о настройке кеширование паролей.
Улучшение ответа @Ianl,
Похоже, что если включена двухэтапная аутентификация, вы должны использовать токен вместо пароля. Здесь вы можете сгенерировать токен.
Если вы хотите отключить запросы как для имени пользователя, так и для пароля, вы можете установить URL-адрес следующим образом –
git remote set-url origin https://имя пользователя: password@github.com/WEMP/project-slideshow.git
Обратите внимание, что URL-адрес содержит и имя пользователя, и пароль. Также файл .git/config
должен отображать ваши текущие настройки.
Обновление 20200128:
Если вы не хотите хранить пароль в файле конфигурации, тогда вы можете сгенерировать свой личный токен и заменить пароль на токен. Вот некоторые подробности.
Это будет выглядеть так –
git remote set-url origin https://username: token @ github. com/WEMP/проект-слайд-шоу. git
-
Это безопасно? Может ли кто-нибудь получить доступ к этой информации с моего компьютера? – Akaisteph7, 24 сен. ’19 в 14:41
-
Да, они могут получить доступ с вашего компьютера, так как они хранятся в виде обычного текста в файле
.git/config
– kaushal 17 января ’20 в 16:32
Улучшение ответа @Ianl,
Кажется, что если включена двухэтапная аутентификация, вы должны использовать токен вместо пароля. Здесь вы можете сгенерировать токен.
Если вы хотите отключить запросы как для имени пользователя, так и для пароля, вы можете установить URL-адрес следующим образом –
git remote set-url origin https://имя пользователя: password@github.com/WEMP/project-slideshow.git
Обратите внимание, что URL-адрес содержит и имя пользователя, и пароль. Также файл .git/config
должен отображать ваши текущие настройки.
Обновление 20200128:
Если вы не хотите хранить пароль в файле конфигурации, тогда вы можете сгенерировать свой личный токен и заменить пароль на токен. Вот некоторые подробности.
Это будет выглядеть так –
git remote set-url origin https://username: token @ github. com/WEMP/project-slideshow.git
дополнительное примечание:
если вы уже добавили пульт ($ git remote add origin …) и вам нужно изменить этот конкретный пульт, то сначала выполните удаленное удаление ( $ git remote rm origin) перед повторным добавлением нового и улучшенного URL-адреса репо (где origin было именем удаленного репо).
, чтобы использовать исходный пример:
$ git remote add origin https://github.com/WEMP/project-slideshow.git$ git remote rm origin $ git remote add origin https://github-username @ github .com/WEMP/проект-слайд-шоу. git
-
6Вам не нужно снимать пульт. Вы можете просто изменить URL:
git remote set-url origin https://github-username@github.com/WEMP/project-slideshow.git
– shovavnik 23 дек. ’13 в 10: 59
дополнительное примечание:
если вы уже добавили удаленный ($ git remote add origin .. .) и необходимо изменить этот конкретный пульт, а затем сначала выполнить удаленное удаление ($ git remote rm origin), прежде чем повторно добавить новый и улучшенный URL-адрес репо (где origin было именем удаленного репо).
, чтобы использовать исходный пример:
$ git remote add origin https://github.com/WEMP/project-slideshow.git$ git remote rm origin $ git remote add origin https://github-username@github.com/WEMP/project-slideshow.git
Если вы используете HTTPS, убедитесь, что ваш URL правильный. Например:
$ git clone https://github.com/wellle/targets.gitCloning в 'target' ... Имя пользователя для 'https://github.com ': ^ C $ git clone https://github.com/wellle/targets.vim.git Клонирование в' targets.vim '... удаленный: Подсчет объектов: 2182, готово.remote: Всего 2182 (дельта 0), повторно используется 0 (дельта 0), пакет используется повторно 2182 Получение объектов: 100% (2182/2182), 595,77 Кбайт | 0 байт/с, готово. Разрешение дельт: 100% (1044/1044), выполнено.
-
1Отличный момент! Если у вас есть опечатка в URL-адресе, вам будет предложено ввести «Имя пользователя» вместо того, чтобы сообщать, что репозиторий не существует. – dmitrii 27 окт. ’17 в 16:24
Если вы используете HTTPS, убедитесь, что ваш URL правильный. Например:
$ git clone https://github.com/wellle/targets.gitCloning в 'target' ... Имя пользователя для 'https://github.com ': ^ C $ git clone https://github.com/wellle/targets.vim.git Клонирование в' targets.vim '... удаленный: Подсчет объектов: 2182, готово.remote: Всего 2182 (дельта 0), повторно используется 0 (дельта 0), пакет используется повторно 2182 Получение объектов: 100% (2182/2182), 595. 77 КБ | 0 байт/с, готово. Разрешение дельт: 100% (1044/1044), выполнено.
Мне только что пришло письмо от администратора github.com, в котором говорится следующее: «Обычно мы советуем людям использовать HTTPS-URL, если у них нет особой причины. использовать протокол SSH. HTTPS безопасен и проще в настройке, поэтому мы используем его по умолчанию при создании нового репозитория. “
Запрос пароля действительно принимает обычный вход на github.com Детали. Здесь можно найти руководство по настройке кеширования паролей. Я выполнил действия, описанные в руководстве, и у меня это сработало.

-
1URL-адрес был обновлен: help.github.com/articles/caching-your-github-password-in-git – MarkHu 02 апр.
Мне только что пришло письмо от администратора github.com, в котором говорится следующее: «Обычно мы советуем людям использовать HTTPS-URL, если только у них есть особая причина использовать протокол SSH. HTTPS безопасен и проще в настройке, поэтому мы используем его по умолчанию при создании нового репозитория “.
Запрос пароля действительно принимает обычные данные для входа на github.com. Здесь можно найти руководство по настройке кеширования паролей. Я выполнил шаги, описанные в руководстве, и у меня это сработало.
Поскольку вы используете способ HTTPS . HTTPS требует, чтобы вы вводили доступ к своей учетной записи каждый раз, когда пытаетесь нажимать или тянуть , но есть еще один способ, называемый SSH , который позволяет вам сообщить git, что я даю вам разрешение с моей учетной записью на это pc, и никогда больше не спрашивайте меня о доступе для пользователей . Чтобы использовать его, вы должны сгенерировать ключ SSH и добавить его в свою учетную запись Github только один раз . Для этого вы можете выполнить следующие шаги:
Как сгенерировать SSH-ключ для Github

Поскольку вы используете способ HTTPS . HTTPS требует этого вы вводите доступ к своей учетной записи каждый раз, когда пытаетесь нажать или потянуть , но есть еще один способ, называемый SSH , и он позволяет вам сообщить git, что я даю вам разрешение на использование моей учетной записи для этого компьютера и никогда больше не спрашиваю меня о доступе пользователей . Чтобы использовать его, вам необходимо сгенерировать ключ SSH и добавить его в свою учетную запись Github только один раз . Для этого вы можете выполнить следующие действия
Как создать SSH-ключ для Github
Если вы включили двухфакторную аутентификацию, вам необходимо создать личный токен доступа и использовать его вместо обычного пароля. Подробнее здесь: https://help.github.com/articles/creating-an-access-token-for-command-line-use/
-
Нил Я считаю, что это полезная информация, но сомневаюсь, что она не может считаться ответом. – instinct 30 июн ’17 в 07:18
Если вы включили двухфакторную аутентификацию, вам нужно будет сгенерировать личный токен доступа и использовать его вместо обычного пароля . Подробнее здесь: https://help.github.com/articles/creating-an-access-token-for-command-line-use/