Как убедиться, что Git не запрашивает имя пользователя и пароль на GitHub?

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

Я попробовал инструкции на настройка электронной почты в Git, а именно настроить git переменные github.пользователь и github.знак, но это не имело никакого значения.

Я не понимаю, почему это происходит.

30
задан random
10.12.2022 5:58 Количество просмотров материала 3534
Распечатать страницу

12 ответов

вам нужно настроить ssh-агент, с которым вам нужно пройти аутентификацию только один раз. См.ответ в так как.

27
отвечен Benjamin Bannier 2022-12-11 13:46

была похожая проблема сегодня: я испортил все в своей рабочей копии, поэтому я решил переименовать каталог и клонировать свой проект снова из github. Но после этого мне пришлось ввести свой пароль, чтобы сделать любой запрос pull/push, вместо того, чтобы вводить парольную фразу только один раз, как я привык.

это было потому, что сегодня я использовал протокол https для клонирования проекта! Чтобы проверить, какой протокол вы используете, просто запустите

git config -l

и посмотрите на строку, начинающуюся с удаленно.происхождение.URL-адрес'.

для переключения протоколов:

git config remote.origin.url git@github.com:the_repository_username/your_project.git

the_repository_username и your_project должно быть заменено соответствующим именем репозитория и владельцем этого репозитория. Имя пользователя будет вашим, если вы являетесь владельцем хранилища, или имя пользователя владельца хранилища в противном случае.

205
отвечен Sergio Morstabilini 2022-12-11 16:03

Если вы используете HTTPS вместо SSH, вы можете следить за этим:

  1. найти удаленный URL-адрес (удаленный.происхождение.url) с

    git config -l
    

    спасибо Sergio Morstabilini

  2. удаленный URL-адрес будет выглядеть так : протокол HTTPS://{имя пользователя}@github.com/{имя_пользователя}/{REPONAME}.ГИТ

  3. выполнить следующую команду :

    git config remote.origin.url https://{USERNAME}:{PASSWORD}@github.com/{USERNAME}/{REPONAME}.git
    
28
отвечен Eray 2022-12-11 18:20

Я предпочитаю использовать HTTPS, я нахожу это проще и безопаснее, чем настройка ключей ssh.

используя HTTPS, вы можете запретить git запрашивать ваше имя пользователя для пультов GitHub со следующим:

git config --global url."https://yourusername@github.com".insteadOf "https://github.com"

и вы можете по крайней мере уменьшить частоту git запрашивает пароль с:

git config --global credential.helper 'cache --timeout=28800'

где 28800 8 часов. Я использую эту установку, чтобы ввести свой пароль только один раз, когда я начинаю свой рабочий день.

после этого вы будете иметь эти записи внутри ~/.gitconfig

[url "https://yourusername@github.com"]
    insteadOf = https://github.com

[credential]
    helper = cache --timeout=28800

источник:

http://git-scm.com/docs/git-credential-cache

http://git-scm.com/docs/git-config

25
отвечен stefanmaric 2022-12-11 20:37

Если вы используете HTTPS в Windows, попробуйте В Git Хранилище - Он использует хранилище учетных данных Windows для хранения вашего имени и пароля.

Windows Credential Store for Git
This application is a small helper app designed to follow the 
git credentials API as defined by the Git Documentation.

Installation
1. Download the git-credential-winstore.exe application
2. Run it! If you have GIT in your PATH, it should just work.

тогда в следующий раз, когда вы введете свое имя и пароль, он запомнит их для вас.

6
отвечен Brian Burns 2022-12-11 22:54

при настройке ключа ssh для github, если это не ваш ключ по умолчанию, вам нужно будет добавить раздел в ~/.ssh/config

Host *github.com
    User git
    IdentityFile ~/.ssh/github_id_rsa
5
отвечен Daenyth 2022-12-12 01:11

также, если вы хотите быть предложено ввести пароль каждый раз, но просто не Ваш логин, затем вы настроить удаленный как HTTPS с логином.. Вроде этого..

git config remote.origin.url https://USERNAME@github.com/repo_owner/repo_name

после этого вам будет предложено ввести пароль каждый раз, но не имя пользователя.

Это, как я предпочитаю его, так как мне нравится быть вынужден ввести свой пароль github перед обменом с миром.

5
отвечен David Jeske 2022-12-12 03:28

все немного по-другому, если вы используете 2-фактор auth, как я. Поскольку я не нашел хорошего ответа в другом месте, я буду придерживаться его здесь, чтобы, возможно, я мог найти его позже.

Если вы используете 2-фактор аутентификации, то указав имя пользователя / пароль не будет работать событие - вы получите доступ запрещен. Но вы можете использовать маркер доступа приложения и использовать git credential helper для кэширования. Вот соответствующие ссылки:

и я не помню, где я это видел, но когда вас спрашивают Ваше имя Пользователя-вот куда вы вставляете маркер доступа к приложению. Затем оставьте пароль пустым. Работал на моем Mac.

2
отвечен John Berryman 2022-12-12 05:45

кроме того, если вы используете Windows, вы можете использовать:

$ git config --global credential.helper wincred

вы просто должны войти еще раз, и тогда git запомнит.

1
отвечен William Earl Cheaqui 2022-12-12 08:02

использовать SSH

чтобы предотвратить GitHub просить пароль при нажатии, в идеале вы должны использовать SSH (git@github.com:...) вместо HTTPS URL (https://github.com/...) и добавить SSH ключ к вашей учетной записи GitHub. Смотри:какой удаленный URL-адрес следует использовать?

GitHub - Clone with SSH

a credential helper

в противном случае, если вам действительно нужно использовать HTTPS, чтобы кэшировать пароль GitHub в Git, вы должны использовать a credential helper сказать Git, чтобы помнить ваше имя пользователя и пароль GitHub каждый раз, когда он разговаривает с GitHub.

  • Mac:git config --global credential.helper osxkeychain (osxkeychain helper требуются),
  • Windows:git config --global credential.helper wincred
  • Linux и другие: git config --global credential.helper cache

.netrc

другой метод заключается в использовании настроить пользователя / пароль в ~/.netrc (_netrc на Windows), например,

machine github.com
login USERNAME
password PASSWORD

OAuth

использовать маркер (персональный API токен), чтобы подтолкнуть изменения, например,

git push https://4UTHT0KEN@github.com/foo/bar

по теме:

1
отвечен kenorb 2022-12-12 10:19

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

поэтому я просто добавляю это к своему ".gitconfig"

[url "https://myusername@github.com"]
    insteadOf = https://github.com
1
отвечен ViToni 2022-12-12 12:36

использовать Git диспетчер учетных данных для Windows, Если вы работаете в Windows.

этот проект включает в себя:

  • безопасное хранение паролей в хранилище учетных данных Windows
  • поддержка многофакторной проверки подлинности для Visual Studio Team Services
  • поддержка двухфакторной аутентификации для GitHub
  • поддержка создания и использования маркеров личного доступа для Visual Studio Team Services и GitHub
  • поддержка неинтерактивного режима для служб Visual Studio Team Services, поддерживаемых Azure Directory
  • проверка подлинности Kerberos для Team Foundation Server
  • Дополнительные параметры для оптимизации агента сборки

просто скачать последнюю версию и установить его.

как использовать

вы не делаете. Это волшебно работает, когда нужны полномочия.

0
отвечен Jalal 2022-12-12 14:53

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх