Исправление запроса имени пользователя / пароля для репозиториев github, клонированных по схеме https · GitHub

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 файл


59

У меня была такая же проблема и задавался вопросом, почему этого не произошло с репозиторием 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 для редактирования параметра, но редактирование файла напрямую не выполнялось. не кажется проблемой.

Улучшите этот ответ
отредактировано 16 сен. ’15 в 15:36
Dherik
12k1010 золотых знаков8080 серебряных знаков120120 бронзовых знаков
ответил 28 февраля ’13 в 19:16
  • Это хороший момент, если вы включите имя пользователя, оно будет обрабатываться связкой ключей ОС (по крайней мере это должно быть в 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 для редактирования параметра, но редактирование файла напрямую не выполнялось. Кажется, это не проблема.


27

Вот официальный ответ на это:

Если Git запрашивает имя пользователя и пароль каждый раз, когда вы пытаетесь взаимодействовать с GitHub, вы, вероятно, используете URL-адрес клона HTTPS. для вашего репозитория.

Использование удаленного URL-адреса HTTPS имеет некоторые преимущества: его проще настроить, чем SSH, и обычно он работает через строгие брандмауэры и прокси. Однако он также предлагает вам ввести свои учетные данные GitHub каждый раз, когда вы извлекаете или отправляете репозиторий.

Вы можете настроить Git так, чтобы ваш пароль сохранялся для вас. Если вы хотите это настроить, прочитайте все о настройке кеширования паролей..

Улучшите этот ответ
отредактировал 20 июня ’20 в 9:12
Сообщество ♦
111 серебряных значков
ответил 01 апр. ’14 в 14:40
  • 1
    Спасибо. Я бы поспорил с Github, что настроить его будет не легче, если вы окажетесь здесь (: — ecoologic 30 марта 2019 г., 23:34
  • Это ответ на вопрос, потому что вопрос спрашивает: ПОЧЕМУ ? — Эли 31 июля. ’19 в 5:08
добавить комментарий |

Вот официальный ответ на это:

Если Git запрашивает имя пользователя и пароль каждый раз, когда вы пытаетесь взаимодействовать с GitHub, вы возможно, используется URL-адрес клона HTTPS для вашего репозитория.

Использование удаленного URL-адреса HTTPS имеет некоторые преимущества: его легче настроить, чем SSH, и обычно он работает через строгие брандмауэры и прокси. Однако он также предлагает вы должны вводить свои учетные данные GitHub каждый раз, когда вы извлекаете или отправляете репозиторий.

Вы можете настроить Git для хранения вашего пароля для вас. Если вы хотите установить это, прочтите все о настройке кеширование паролей.


15

Улучшение ответа @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  

Улучшите этот ответ
отредактировал 18 февраля ’20 в 7:06
Шайн Хью
122 бронзовых значка
ответил 4 апр. ’17 в 19:44
  • Это безопасно? Может ли кто-нибудь получить доступ к этой информации с моего компьютера? — 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  

14

дополнительное примечание:

если вы уже добавили пульт ($ 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  

Улучшите этот ответ
ответил 04 марта ’13 в 21:40
  • 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  

8

Если вы используете 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), выполнено.  

Улучшите этот ответ
ответил 19 мая ’17 в 20:47
  • 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), выполнено.  

6

Мне только что пришло письмо от администратора github.com, в котором говорится следующее: «Обычно мы советуем людям использовать HTTPS-URL, если у них нет особой причины. использовать протокол SSH. HTTPS безопасен и проще в настройке, поэтому мы используем его по умолчанию при создании нового репозитория. «

Запрос пароля действительно принимает обычный вход на github.com Детали. Здесь можно найти руководство по настройке кеширования паролей. Я выполнил действия, описанные в руководстве, и у меня это сработало.

Улучшите этот ответ
отредактировано 24 сентября ’20 в 8:25
jdhao
11.6k66 золотых знаков7373 серебряных знака129129 бронзовых знаков
ответил 02 июля ’13 в 20:34
  • 1
    URL-адрес был обновлен: help.github.com/articles/caching-your-github-password-in-git — MarkHu 02 апр.
добавить комментарий |

Мне только что пришло письмо от администратора github.com, в котором говорится следующее: «Обычно мы советуем людям использовать HTTPS-URL, если только у них есть особая причина использовать протокол SSH. HTTPS безопасен и проще в настройке, поэтому мы используем его по умолчанию при создании нового репозитория «.

Запрос пароля действительно принимает обычные данные для входа на github.com. Здесь можно найти руководство по настройке кеширования паролей. Я выполнил шаги, описанные в руководстве, и у меня это сработало.


5

Поскольку вы используете способ HTTPS . HTTPS требует, чтобы вы вводили доступ к своей учетной записи каждый раз, когда пытаетесь нажимать или тянуть , но есть еще один способ, называемый SSH , который позволяет вам сообщить git, что я даю вам разрешение с моей учетной записью на это pc, и никогда больше не спрашивайте меня о доступе для пользователей . Чтобы использовать его, вы должны сгенерировать ключ SSH и добавить его в свою учетную запись Github только один раз . Для этого вы можете выполнить следующие шаги:

Как сгенерировать SSH-ключ для Github

Улучшите этот ответ
отредактировано 28 апреля 2016, 21:39
ответил 28 апр 2016, в 21:31
добавить комментарий |

Поскольку вы используете способ HTTPS . HTTPS требует этого вы вводите доступ к своей учетной записи каждый раз, когда пытаетесь нажать или потянуть , но есть еще один способ, называемый SSH , и он позволяет вам сообщить git, что я даю вам разрешение на использование моей учетной записи для этого компьютера и никогда больше не спрашиваю меня о доступе пользователей . Чтобы использовать его, вам необходимо сгенерировать ключ SSH и добавить его в свою учетную запись Github только один раз . Для этого вы можете выполнить следующие действия

Как создать SSH-ключ для Github


5

Если вы включили двухфакторную аутентификацию, вам необходимо создать личный токен доступа и использовать его вместо обычного пароля. Подробнее здесь: https://help.github.com/articles/creating-an-access-token-for-command-line-use/

Улучшите этот ответ
9 августа ’16 в 1:03
  • Нил Я считаю, что это полезная информация, но сомневаюсь, что она не может считаться ответом. — instinct 30 июн ’17 в 07:18
добавить комментарий |

Если вы включили двухфакторную аутентификацию, вам нужно будет сгенерировать личный токен доступа и использовать его вместо обычного пароля . Подробнее здесь: https://help.github.com/articles/creating-an-access-token-for-command-line-use/

Оцените статью
logicle.ru
Добавить комментарий