Git запрашивает имя пользователя каждый раз, когда я нажимаю

Всякий раз, когда я пытаюсь вставить свой репо, git запрашивает оба username & password.

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

Итак, как я могу настроить git так, чтобы он не запрашивал username для каждого git push.

Я новичок в Linux, но IIRC в windows git push только запрашивает пароль.

Ответ 1

Изменить (автор @dk14 по предложению модераторов и комментариев)

ВНИМАНИЕ: Если вы используете credential.helper store из ответа, ваш пароль будет храниться полностью незашифрованным ("как есть") в ~/.git-credentials. Ознакомьтесь с разделом комментариев ниже или ответами из раздела "Связанные", особенно если ваш работодатель не проявляет никакой терпимости к вопросам безопасности.

Даже несмотря на то, что он принят, он не отвечает на фактический вопрос OP об исключении только имени пользователя (не пароля). Для читателей с такой проблемой @grawity ответ может пригодиться.


Оригинальный ответ (@Alexander Zhu):

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

$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

Также я предлагаю вам прочитать
$ git help credentials

Ответ 2

Вы можете выполнить это в файле .git/config вашего локального репозитория. Этот файл содержит раздел под названием 'remote' с записью, называемой "url". Запись 'url' должна содержать ссылку https репозитория, о котором вы говорите.

Когда вы префикс host 'url' своим именем пользователя, git больше не запрашивает ваше имя пользователя. Вот пример:

url = https://[email protected]

Ответ 3

Постоянная аутентификация в репозиториях Git

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

$ git config credential.helper store
$ git push https://github.com/repo.git

Username for 'https://github.com': <USERNAME>
Password for 'https://[email protected]': <PASSWORD>

Использование также должно указывать срок действия кэширования

git config --global credential.helper "cache --timeout 7200"

После включения кэширования учетных данных оно будет кэшироваться в течение 7200 секунд (2 часа).


Читать учетные документы

$ git help credentials

Ответ 4

Добавьте новые ключи SSH, как описано в в этой статье о GitHub.

Если Git все еще запрашивает у вас имя пользователя и пароль, попробуйте изменить https://github.com/ на [email protected]: в удаленном URL-адресе:

$ git config remote.origin.url 
https://github.com/dir/repo.git

$ git config remote.origin.url "[email protected]:dir/repo.git"

Ответ 5

Самый простой способ найти эту команду:

git config --global credential.https://github.com.username <your_username>

Это работает на сайте по базе сайта и изменяет глобальную конфигурацию git.

Чтобы увидеть изменения, используйте:

git config --global --edit

Ответ 6

Если вы используете https вместо ssh, вы можете редактировать "url" в .git/config, как говорит user701648, но если вы хотите, вы также можете добавить пароль:

url = https://username:[email protected]

Ответ 7

Вы можете указать свое имя пользователя для всех репозиториев на данном сайте, добавив в конфигурационный файл Git что-то вроде следующего. Вы захотите изменить " https://example.com" и "я" на фактический URL-адрес и ваше фактическое имя пользователя.

[credential "https://example.com"]
    username = me

(Это непосредственно из "git справки" )

Ответ 8

Убедитесь, что вы используете SSH вместо http. Проверьте этот ответ SO.

Ответ 9

Изменение клонированных операций репо:

git remote set-url origin [email protected]:gitusername/projectname.git

Использование кэшированных учетных данных работает и установка периода таймаута делает вещи менее раздражающими. Если вы используете помощник учетных данных Windows, это должен быть самый простой метод (особенно если SSH заблокирован).

Ответ 10

Когда я только git pull, git pull origin xxx, git запрашивает имя пользователя и пароль.

git config credential.helper store

оно работает.

Ответ 11

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

$ git config --global credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

Ответ 12

Самый простой способ - создать файл ~/.netrc со следующим содержимым:

machine github.com
login YOUR_GITHUB_USERNAME
password YOUR_GITHUB_PASSWORD

(как показано здесь: https://gist.github.com/ahoward/2885020)

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

chmod 600 ~/.netrc

Ответ 13

git config --global кеш credential.helper

Ответ 14

Если вы используете SSH- версию, у вас не возникнет проблем с паролями. Только один раз вы генерируете SSH- ключ, чтобы сообщить git, что этот компьютер будет работать с этой учетной записью github, и никогда больше не спрашивать меня о каком-либо доступе (для этого компьютера).

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

Ответ 15

Чтобы избежать ввода имени пользователя, но все же вам будет предложено ввести пароль, вы можете просто клонировать ваш репозиторий, включая имя пользователя:

git clone [email protected]/my_repo.git

Ответ 16

  • $git config credential.helper store

  • $git push/push https://github.com/xxx.git

  • Затем введите свое имя пользователя и пароль.

  • Готово

Ответ 17

Вы можете просто запустить

git config --global credential.helper wincred

после установки и входа в GIT для Windows в вашей системе.

Ответ 18

Быстрый метод

получите url вашего мерзавца, когда он внутри рабочего каталога:

git config remote.origin.url

тогда:

git config credential.helper store

git push "url of your git"

будет запрашивать имя пользователя и пароль в последний раз

сделанный.