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"
будет запрашивать имя пользователя и пароль в последний раз
сделанный.