Всякий раз, когда я пытаюсь протолкнуть свой репозиторий, Git просит обоих username & password
.
У меня нет проблем с повторным вводом пароля каждый раз, но проблема заключается в вводе имени пользователя. Я использую, https
чтобы клонировать мой репозиторий.
Итак, как я могу настроить git, чтобы он не запрашивал username
каждого git push
.
Я новичок в Linux, но IIRC в Windows git push
только просит пароль.
Ответы:
Изменить (автор @ dk14 по предложению модераторов и комментариев)
ВНИМАНИЕ: Если вы используете
credential.helper store
ответ, ваш пароль будет храниться в полностью незашифрованном виде («как есть») по адресу~/.git-credentials
. Пожалуйста, ознакомьтесь с разделом комментариев ниже или ответами из раздела «Связанные», особенно если ваш работодатель не проявляет никакой терпимости к вопросам безопасности.Несмотря на то, что он принят, он не отвечает на фактический вопрос ОП об исключении только имени пользователя (не пароля). Для читателей с этой конкретной проблемой ответ @ grawity может пригодиться.
Оригинальный ответ (@Alexander Zhu):
Вы можете сохранить свои учетные данные, используя следующую команду
Также я предлагаю вам прочитать
$ git help credentials
источник
git config --unset credential.helper
Вы можете сделать это в
.git/config
файле вашего локального хранилища. Этот файл содержит раздел под названием «remote» с записью под названием «url». Запись 'url' должна содержать ссылку на https репозитория, о котором вы говорите.Когда вы префикс хоста 'url' с вашим именем пользователя, больше
git
не должны спрашивать ваше имя пользователя. Вот пример:источник
git config credential.helper store
.username for https://gitlab.com:
unable to access 'https://<me>@bitbucket.org:<x>/<y>.git/': Illegal port number
Постоянная аутентификация в репозиториях Git
Выполните следующую команду, чтобы включить кэширование учетных данных:
Использование также должно указывать срок действия кэширования
После включения кэширования учетных данных оно будет кэшироваться в течение 7200 секунд (2 часа) .
Читать учетные документы
источник
git config credntial.helper store
та ли опасная команда, которая отвечает за хранение незашифрованных учетных данных в файле ~ / .git-credentials? Я думаю (и по моему опыту) команда ... cache ...- достаточна:git config --clogal credential.helper 'cache --timeout 7200'
она создает dir:~/.git-credential-cache
с файлом кеша в нем Итак, просто выполните эту команду, а НЕ команду "... store"Добавьте новые ключи SSH, как описано в этой статье на GitHub .
Если Git по-прежнему запрашивает у вас имя пользователя и пароль, попробуйте перейти
https://github.com/
наgit@github.com:
удаленный URL:источник
git config remote.origin.url "ssh://git@yourRepoHost/yourRepoName.git"
Самый простой способ, который я нашел, был с этой командой:
Это работает для каждого отдельного сайта и изменяет ваш глобальный конфиг git.
Чтобы увидеть изменения, используйте:
источник
Если вы используете https вместо ssh, вы можете отредактировать «url»,
.git/config
как говорит user701648, но при желании вы можете добавить также пароль:источник
@
включен мой пароль?url = https://username:abc@123@repository-url.com
Это дает мне ошибку, чтоCould not resolve host: @123@git.com
username
часть, кажется, игнорируется, когда сервер перенаправляет (например, с FOO на FOO.git).Вы можете установить свое имя пользователя для всех репозиториев на данном сайте, добавив что-то вроде следующего в ваш файл конфигурации Git. Вы хотите изменить « https://example.com » и «меня» на фактический URL-адрес и ваше фактическое имя пользователя.
(Это прямо из "git help credentials")
источник
Смена клонированного репо работает:
Использование кэшированных учетных данных работает, а установка периода ожидания делает вещи менее раздражающими. Если вы используете помощник по учетным данным Windows, это должен быть самый простой способ (особенно если SSH заблокирован).
источник
Убедитесь, что вы используете SSH вместо http. Проверьте этот так ответ.
источник
http
потому что в моем университетеssh
заблокирован отдел системного администратора.git config --global credential.helper cache
источник
В дополнение к ответу user701648 вы можете хранить свои учетные данные в своей домашней папке (глобальной для всех проектов) вместо папки проекта, используя следующую команду
источник
Когда я использую только git pull, git pull origin xxx, git запрашивает имя пользователя и пароль.
оно работает.
источник
Самый простой способ - создать
~/.netrc
файл со следующим содержимым:(как показано здесь: https://gist.github.com/ahoward/2885020 )
Вы даже можете закрыть разрешения для этого файла, чтобы никто не смог прочитать ваш пароль, набрав:
источник
Если вы используете версию SSH , у вас не возникнет проблем с паролями. Только один раз вы генерируете SSH- ключ, чтобы сообщить git, что этот компьютер будет работать с этой учетной записью github, и никогда больше не спрашивать меня о каком-либо доступе (для этого компьютера).
Как создать SSH для Github
источник
Чтобы избежать ввода имени пользователя, но все равно будет предложено ввести пароль, вы можете просто клонировать свой репозиторий, включая имя пользователя:
источник
$ 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
+key authentication
более надежный способ, чемhttps
+credential.helper
Вы можете настроить использование SSH вместо HTTPS для всех репозиториев следующим образом:
url.<base>.insteadOf
задокументировано здесь .источник
Быстрый метод
получить URL вашего мерзавца, когда внутри рабочего каталога:
тогда :
попросит имя пользователя и пароль последний раз
сделанный.
источник
Вы можете просто запустить
после установки и входа в GIT для Windows в вашей системе.
источник
(Только для Mac OS)
для Windows и Linux, пожалуйста, обратитесь к ссылке на документацию Github, упомянутой ниже.
От Github Документация: Документация Ссылка
Кэширование вашего пароля GitHub в Git
Вам нужен Git 1.7.10 или новее, чтобы использовать помощник учетных данных osxkeychain.
чтобы выяснить, установлен ли помощник osxkeychain :
если вы получите следующий ответ, значит, он уже установлен и готов к использованию на вашем Mac:
если вы не получили ответ, как показано выше, вы можете установить его, выполнив следующую команду:
сказать git глобально использовать osxkeychain для учетных данных git:
Он запросит один раз, прежде чем сохранить учетные данные в цепочку для ключей .
источник