Хранение имени пользователя и пароля в Git

18

Когда я делаю

git push

Я получаю командную строку как

Username for 'https://github.com':

затем я ввожу свое имя пользователя вручную, как

Username for 'https://github.com': myusername

а затем я нажимаю Enterи получаю подсказку для моего пароля

Password for 'https://myusername@github.com':

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

Я пытался сделать это с, xdotoolно это не сработало.

Я уже сделала

git config --global user.name myusername
git config --global user.email myemail@gmail.com

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

GypsyCosmonaut
источник
Вы знаете, что можете хранить учетные данные с помощью git, верно?
Диего
Вы должны установить ключ SSH на GitHub и использовать его вместо этого.
Стивен Китт
@DiegoRoccia да, упомянул это и в вопросе, но это не помогает.
цыганский космонавт
Вы можете использовать, как git config credential.helper storeописано здесь: stackoverflow.com/questions/11403407/… В этом случае вы сохраняете пароль не в виде открытого текста в исходном URL, а в файле в вашем профиле. (Также не шифруется)
Олег Руденко

Ответы:

12

На самом деле вы установили информацию об авторе, только для коммитов. Вы не хранили учетные данные. учетные данные могут храниться двумя способами:

  1. используя функции учетных данных git: https://git-scm.com/docs/git-credential-store
  2. измените URL источника на « https: // имя пользователя: пароль@github.com ».
  3. Третий вариант - использовать ключ ssh (как сказал @StephenKitt). Для настройки github вы можете найти всю необходимую информацию на странице справки GitHub.
Диего Рочча
источник
добавление имени пользователя и пароля к URL-адресу источника нецелесообразно из соображений безопасности, но если вы чувствуете себя в безопасности, то это лучший путь.
Кодманьяга
21

В Терминале введите следующее, чтобы включить память учетных данных:

$ git config --global credential.helper cache

Вы можете обновить тайм-аут кэша паролей по умолчанию (в секундах):

# This cache timeout is in seconds
$ git config --global credential.helper 'cache --timeout=3600' 

Вы также можете использовать (но, пожалуйста, используйте одинарные кавычки, в противном случае двойные кавычки могут сломаться для некоторых символов):

$ git config --global user.name 'your user name'
$ git config --global user.password 'your password'
прости
источник