Я работаю с репозиторием на GitHub, и каждый раз, когда я пытаюсь что-то выдвинуть, он запрашивает у меня имя пользователя и пароль GitHub. Я не хочу, чтобы это делало это.
Я попробовал инструкции по настройке вашей электронной почты в Git , а именно, установил переменные Git github.user и github.token, но это не имело никакого значения.
Я не понимаю, почему это происходит.
Ответы:
Вам необходимо настроить ssh-agent, для которого вам нужно пройти аутентификацию только один раз. Посмотрите этот ответ в SO для ознакомления.
источник
У меня была похожая проблема сегодня: я все испортил в своей рабочей копии, поэтому я решил переименовать каталог и снова клонировать свой проект из github. Но после этого мне пришлось вводить свой пароль для выполнения любого запроса на включение / выключение, вместо того, чтобы вводить фразу-пароль только один раз, как я это делал раньше.
Это потому, что сегодня я использовал протокол https для клонирования проекта! Чтобы проверить, какой протокол вы используете, просто запустите
и посмотрите на строку, начинающуюся с 'remote.origin.url'.
Для переключения протоколов:
the_repository_username
иyour_project
должен быть заменен соответствующим именем хранилища и владельцем этого хранилища. Имя пользователя будет вашим, если у вас есть хранилище, или имя пользователя владельца хранилища в противном случае.источник
git@github.com:some-user/repo-name.git
remote.origin.url
установлен метод https и я даже не заметил, что есть методыhttps
противssh
. Этот URL помог мне увидеть очевидное: help.github.com/articles/…git config remote.origin.url ...
использованными выше и противgit remote set-url origin ...
?git remote rm origin
Если вы используете HTTPS вместо SSH, вы можете выполнить следующее:
Найдите свой удаленный URL (remote.origin.url) с помощью
благодаря Серхио Морстабилини
Ваш удаленный URL будет выглядеть следующим образом: https: // {ИМЯ ПОЛЬЗОВАТЕЛЯ} @ github.com / {ИМЯ ПОЛЬЗОВАТЕЛЯ} / {REPONAME} .git
Выполните эту команду:
источник
@
, не работает для меня..git/config
файла!Я предпочитаю использовать HTTPS, я считаю, что это проще и безопаснее, чем настройка ключей ssh.
Используя HTTPS, вы можете запретить git запрашивать ваше имя пользователя для пультов Github с помощью следующего:
И вы можете, по крайней мере, уменьшить частоту, с которой git запрашивает ваш пароль:
Где 28800 - это 8 часов. Я использую эту настройку, чтобы ввести свой пароль только один раз, когда я начинаю свой рабочий день.
После этого вы будете иметь эти записи в вашем
~/.gitconfig
Источник:
http://git-scm.com/docs/git-credential-cache
http://git-scm.com/docs/git-config
источник
Когда вы устанавливаете ключ ssh для github, если это не ваш ключ по умолчанию, вам нужно будет добавить раздел в ваш
~/.ssh/config
источник
Если вы используете Windows по протоколу HTTPS, попробуйте Git Credential Store - он использует Windows Credential Store для хранения вашего имени и пароля.
Затем в следующий раз, когда вы введете свое имя и пароль, он запомнит их для вас.
источник
Кроме того, если вы хотите, чтобы каждый раз запрашивался пароль, но не имя пользователя, тогда вы настраиваете пульт ДУ как HTTPS с именем пользователя .. Вот так ..
После этого вам будет предложено ввести пароль каждый раз, но не ваше имя пользователя.
Именно так я и предпочитаю, так как мне нравится, когда меня заставляют вводить свой пароль на github, прежде чем делиться с миром.
источник
Все немного по-другому, если вы используете 2-факторную аутентификацию, как и я. Поскольку я не нашел хорошего ответа в другом месте, я его воткну, чтобы, возможно, я смог найти его позже.
Если вы используете двухфакторную аутентификацию, то указание имени пользователя и пароля не сработает - вы получите отказ в доступе. Но вы можете использовать токен доступа к приложению и использовать помощник по учетным данным git для его кеширования. Вот соответствующие ссылки:
И я не помню, где я видел это, но когда вас спрашивают о вашем имени пользователя - вот где вы прикрепляете маркер доступа к приложению. Затем оставьте пароль пустым. Работал на моем Mac.
источник
использовать SSH
Чтобы запретить GitHub запрашивать пароль во время нажатия, в идеале вы должны использовать SSH (
git@github.com:...
) вместо HTTPS URL (https://github.com/...
) и добавить свой ключ SSH в свою учетную запись GitHub . Смотрите: какой удаленный URL я должен использовать?помощник по учету
В противном случае, если вам действительно нужно использовать HTTPS, для кэширования вашего пароля GitHub в Git , вы должны использовать помощник по учетным данным, чтобы Git запоминал имя пользователя и пароль GitHub при каждом обращении к GitHub.
git config --global credential.helper osxkeychain
(osxkeychain helper
обязательно),git config --global credential.helper wincred
git config --global credential.helper cache
.netrc
Другой способ заключается в использовании настройки вашего пользователя / пароля в
~/.netrc
(_netrc
в Windows), напримерOAuth
Используйте OAuth-токен ( персональный API-токен ) для отправки изменений, например
Связанный:
источник
Также, если вы используете Windows, вы можете использовать:
вам просто нужно войти еще раз, и тогда git запомнит.
источник
Запрос имени пользователя раздражает меня, но запрос пароля - это хорошо, поскольку он гарантирует, что вы действительно хотите обнародовать свои изменения ...
Поэтому я просто добавляю это в мой ".gitconfig"
источник
Используйте Git Credential Manager для Windows , если вы используете Windows.
Просто скачайте последнюю версию и установите ее.
источник