Всякий раз, когда я пытаюсь вставить свой репо, git запрашивает оба username & password
.
У меня нет проблем при повторном вводе пароля каждый раз, но проблема заключается в вводе имени пользователя. Я использую https
для клонирования моего репозитория.
Итак, как я могу настроить git так, чтобы он не запрашивал username
для каждого git push
.
Я новичок в Linux, но IIRC в windows git push
только запрашивает пароль.
Вы можете сохранить свои учетные данные, используя следующую команду
$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
Также я предлагаю вам прочитать
$ git help credentials
Вы можете выполнить это в файле .git/config
вашего локального репозитория. Этот файл содержит раздел под названием 'remote' с записью, называемой "url". Запись 'url' должна содержать ссылку https репозитория, о котором вы говорите.
Когда вы префикс host 'url' своим именем пользователя, git
больше не запрашивает ваше имя пользователя. Вот пример:
url = https://[email protected]
Запустите следующую команду для включения кэширования учетных данных:
$ git config credential.helper store
$ git push https://github.com/repo.git
Username for 'https://github.com': <USERNAME>
Password for 'https://[email protected]': <PASSWORD>
Использование также должно указывать кеширование expire
git config --global credential.helper 'cache --timeout 7200'
После включения кэширования учетных данных он будет кэшироваться для 7200 секунд (2 часа).
Чтение учетных данных Документы
$ git help credentials
Если вы используете https вместо ssh, вы можете редактировать "url" в .git/config
, как говорит user701648, но если вы хотите, вы также можете добавить пароль:
url = https://username:[email protected]
@
включен в мой пароль? url = https://username:abc@[email protected]
Это дает мне ошибку, которая Could not resolve host: @[email protected]
username
кажется, игнорируется, когда сервер перенаправляет (например, с FOO на FOO.git).
Вы можете указать свое имя пользователя для всех репозиториев на данном сайте, добавив в конфигурационный файл Git что-то вроде следующего. Вы захотите изменить " https://example.com" и "я" на фактический URL-адрес и ваше фактическое имя пользователя.
[credential "https://example.com"]
username = me
(Это непосредственно из "git справки" )
Самый простой способ найти эту команду:
git config --global credential.https://github.com.username <your_username>
Это работает на сайте по базе сайта и изменяет глобальную конфигурацию git.
Чтобы увидеть изменения, используйте:
git config --global --edit
Добавьте новые ключи 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"
git config remote.origin.url "ssh://git@yourRepoHost/yourRepoName.git"
Изменение клонированных операций репо:
git remote set-url origin [email protected]:gitusername/projectname.git
Использование кэшированных учетных данных работает и установка периода таймаута делает вещи менее раздражающими. Если вы используете помощник учетных данных Windows, это должен быть самый простой метод (особенно если SSH заблокирован).
В дополнение к запросу user701648 вы можете сохранить свои учетные данные в своей домашней папке (глобальная для всех проектов) вместо папки проекта, используя следующую команду
$ git config --global credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
Чтобы избежать ввода имени пользователя, но все же вам будет предложено ввести пароль, вы можете просто клонировать ваш репозиторий, включая имя пользователя:
git clone [email protected]/my_repo.git
$git config credential.helper store
$git push/push https://github.com/xxx.git
Затем введите свое имя пользователя и пароль.
git push/push https://github.com/xxx.git
это должен быть git push https://github.com/xxx.git
Если вы используете версию SSH, у вас не будет проблем с паролями. Только один раз вы создаете ключ SSH, чтобы сообщить git, что этот ПК будет работать с этой учетной записью github и никогда больше не спрашивать меня о каком-либо доступе (для этого ПК).