Я хочу использовать push и pull автоматически в GitExtension , не вводя каждый раз мой пароль и пароль.
Так как я могу сохранить свои учетные данные в git?
git
credentials
git-config
Эдсон Цезарь
источник
источник
Ответы:
Запустить
тогда
укажите имя пользователя и пароль, и эти подробности будут запомнены позже. Учетные данные хранятся в файле на диске с правами доступа «только для чтения / записи», но в открытом виде.
Если вы хотите изменить пароль позже
Не удастся, потому что пароль неверный, git затем удалит из
~/.git-credentials
файла пользователя + пароль, вызвавший оскорбления , поэтому теперь перезапуститепредоставить новый пароль, чтобы он работал как раньше.
источник
Вы можете использовать
git config
для включения хранилища учетных данных в git.При запуске этой команды при первом извлечении или удалении из удаленного репозитория вам будет задан вопрос об имени пользователя и пароле.
После этого для последовательной связи с удаленным репозиторием вам не нужно указывать имя пользователя и пароль.
Формат хранения - это
.git-credentials
файл, хранящийся в виде открытого текста.Также вы можете использовать другие помощники для
git config credential.helper
, а именно кеш памяти:Это необязательный параметр
timeout parameter
, определяющий, как долго учетные данные будут храниться в памяти. С помощью помощника учетные данные никогда не коснутся диска и будут удалены после указанного времени ожидания.default
Значение900 seconds (15 minutes).
ВНИМАНИЕ : Если вы используете этот метод, пароли вашей учетной записи git будут сохранены в
plaintext
форматеglobal .gitconfig file
, например, в Linux/home/[username]/.gitconfig
Если это нежелательно для вас, используйте
ssh key
вместо этого для своих учетных записей.источник
git config credential.helper cache
паролей не будут сохранены в файл, только хранятся в памяти. См. Git-scm.com/docs/git-credential-cacheРекомендуемый и безопасный метод: SSH
Создайте ключ ssh Github. Перейдите на github.com -> Настройки -> Ключи SSH и GPG -> Новый ключ SSH. Теперь сохраните свой закрытый ключ на свой компьютер.
Затем, если закрытый ключ сохранен как id_rsa в каталоге ~ / .ssh / , мы добавим его для аутентификации как таковой:
Более безопасный метод: кэширование
Мы можем использовать git-credential-store для кэширования нашего имени пользователя и пароля на определенный период времени. Просто введите следующее в свой CLI (терминал или командная строка):
Вы также можете установить период ожидания (в секундах) следующим образом:
Еще менее безопасный метод
Git-credential-store также может использоваться, но сохраняет пароли в виде простого текстового файла на вашем диске как таковое:
Устаревший ответ - быстрый и ненадежный
Это небезопасный способ хранения вашего пароля в виде простого текста. Если кто-то получит контроль над вашим компьютером, ваш пароль будет раскрыт!
Вы можете установить свое имя пользователя и пароль следующим образом:
источник
Включите помощник по учетным данным, чтобы Git сохранял ваш пароль в памяти в течение некоторого времени:
В Терминале введите следующее:
По умолчанию Git кеширует ваш пароль в течение 15 минут.
Чтобы изменить время ожидания кэша паролей по умолчанию, введите следующее:
Из справки GitHub
источник
cache
часть наstore
. Таким образом, полная команда будет:git config --global credential.helper store
. Обратите внимание, что при этом Ваш пароль будет храниться в открытом текстовом файле (так сказать, без какого-либо шифрования).--timeout
параметра?Вы можете редактировать
~/.gitconfig
файл для хранения ваших учетных данныхКоторый уже должен иметь
Вы должны добавить внизу этого файла.
Причина, по которой я рекомендую эту опцию, заключается в том, что она носит глобальный характер, и если в какой-то момент вам нужно удалить опцию, вы знаете, куда идти и изменить ее.
ИСПОЛЬЗУЙТЕ ЭТОТ ВАРИАНТ ТОЛЬКО В ВАШЕМ ЛИЧНОМ КОМПЬЮТЕРЕ.
Тогда, когда вы тянете | клон | введите ваш пароль git, в общем, пароль будет сохранен в
~/.git-credentials
форматеГДЕ DOMAIN.XXX МОЖЕТ БЫТЬ GITHUB.COM | BITBUCKET.ORG | ДРУГОЙ
См документы
Перезапустите свой терминал.
источник
Просто поместите свои учетные данные в URL-адрес следующим образом:
Вы можете хранить это так:
... пример его использования :
Теперь, чтобы Перечислить URL , псевдонимы:
git remote -v
... и что команда удалить один из них:
git remote rm myrepo
источник
git@github.com:Username/myRepo.git
https
, ноssh
решение, подобное этому, может быть полезным там. Также обратите внимание, что вы можете использовать oauth-токен, который немного более безопасен, чем ваш пароль GitHub.Для глобальной настройки откройте терминал (из любого места) и выполните следующее:
Таким образом, любая локальная версия git-репо, имеющаяся на вашем компьютере, будет использовать эту информацию.
Вы можете индивидуально настроить для каждого репо, выполнив:
запустите следующее:
Это влияет только на эту папку (потому что ваша конфигурация является локальной).
источник
--local
тег, но опять ничего не происходитВы можете использовать git-credential-store для хранения незашифрованных паролей на диске, защищенных только разрешениями файловой системы.
пример
Вы можете проверить учетные данные, хранящиеся в файле
~/.git-credentials
Для получения дополнительной информации посетите git-credential-store - Помощник для хранения учетных данных на диске
источник
Вы будете более защищены, если будете использовать аутентификацию SSH, чем аутентификация по имени пользователя / паролю.
Если вы используете Mac, аутентификация клиента SSH интегрирована в связку ключей MacOS. Создав ключ SSH, введите в свой терминал:
Это добавит закрытый ключ SSH в цепочку ключей MacOS. Клиент git будет использовать ssh при подключении к удаленному серверу. Пока вы зарегистрируете свой открытый ключ ssh на сервере, все будет в порядке.
источник
SSH
. Используя HTTP-аутентификацию, тот, кто украл учетные данные, будет иметь доступ только кGitHub/GitLab
. Также токены предназначены для ограниченной жизни.Изучив десятки SO-сообщений, блогов и т. Д., Я опробовал каждый метод, и это то, что я придумал. Это охватывает ВСЕ.
The Vanilla DevOps Git Учетные данные и частные пакеты
Это все способы и инструменты, с помощью которых вы можете безопасно аутентифицировать git для клонирования репозитория без интерактивного запроса пароля .
Серебряная пуля
Хотите Just Works ™? Это волшебная серебряная пуля.
Получите свой токен доступа (см. Раздел в чит-листе, если вам нужны инструкции Github или Gitea) и установите его в переменной окружения (как для локального разработчика, так и для развертывания):
Для Github скопируйте и запустите эти строки дословно :
Поздравляю, теперь любому автоматизированному инструменту клонирования git-репозиториев не будет препятствовать приглашение пароля, будь то использование https или любой другой стиль ssh url.
Не используете Github?
Для других платформ (Gitea, Github, Bitbucket) просто измените URL. Не меняйте имена пользователей (хотя и произвольные, они нужны для отдельных записей конфигурации).
Совместимость
Это работает локально в MacOS, Linux, Windows (в Bash), Docker, CircleCI, Heroku, Akkeris и т. Д.
Больше информации
См. Раздел «.gitconfig Вместо», из таблицы.
Безопасность
Смотрите раздел «Безопасность» в чит-листе.
источник
git config --global credential."https://somegithost.com".username MyUserName
, что было , которое находится в вашей шпаргалке, но не где-нибудь еще в этой ветке ответов. Это конкретное решение не отвечает на вопрос ОП, но оно ответило на мой, так что спасибо!В этом случае вам понадобится помощник по учетным данным git, который скажет git запомнить ваш пароль и имя пользователя GitHub с помощью следующей командной строки:
и если вы используете репо с использованием ключа SSH, то вам нужен ключ SSH для аутентификации.
источник
Ни один из ответов выше не работал для меня. Я получал следующее каждый раз, когда хотел
fetch
илиpull
:Enter passphrase for key '/Users/myusername/.ssh/id_rsa':
Для Mac
Я смог остановить его от запроса моей парольной фразы:
vi ~/.ssh/config
UseKeychain yes
:wq!
Для Windows
Я смог заставить его работать, используя информацию в этом стеке обмена: https://unix.stackexchange.com/a/12201/348665
источник
Помимо редактирования
~/.gitconfig
файла, что вы можете сделать, если спросите:или
Примечание, чтобы всегда использовать одинарные кавычки:
или
Ваше имя пользователя и пароль могут использовать некоторые символы, которые взломают ваш пароль, если вы используете двойные кавычки.
--local
или--global
означает, что параметры конфигурации сохранены для проекта или для пользователя ОС.источник
просто используйте
и сделайте git pull , он запросит имя пользователя и пароль, с этого момента он не будет предоставлять никаких подсказок для имени пользователя и пароля, он будет хранить детали
источник
Храните имя пользователя и пароль в .git-credentials
.git-credentials
где ваши имя пользователя и пароль (токен доступа) хранятся при запускеgit config --global credential.helper store
, что и предлагают другие ответы, а затем введите свое имя пользователя и пароль или токен доступа:Итак, чтобы сохранить логин и пароль (токен доступа):
Это очень полезно для робота github, например, для решения цепных автоматических сборок в одном и том же хранилище докеров с помощью правил для разных веток, а затем для запуска их, вставив их в
post_push
перехватчик в концентраторе докеров.Пример этого можно увидеть здесь в stackoverflow.
источник
Быстрый способ кэширования учетных данных git:
красиво и безопасно
Тайм-аут в секундах.
источник
После прочтения ветки в полном объеме и экспериментирования с большинством ответов на этот вопрос я в конце концов нашел процедуру, которая работает для меня. Я хочу поделиться этим в случае, если кто-то должен иметь дело со сложным вариантом использования, но все же не хочет проходить через весь поток и страницы руководства gitcredentials , gitcredentials-store и т. Д., Как я сделал.
Ниже приведена процедура, которую я предлагаю, если вам (как и мне) приходится иметь дело с несколькими репозиториями от нескольких провайдеров (GitLab, GitHub, Bitbucket и т. Д.) С использованием нескольких различных комбинаций имени пользователя и пароля. Если вместо этого у вас есть только одна учетная запись, то вам, возможно, лучше использовать решения
git config --global credential.helper store
иgit config --global user.name "your username"
т. Д., Которые были очень хорошо объяснены в предыдущих ответах.Мое решение:
> git config --global --unset credentials.helper
> cd /path/to/my/repo
> git config --unset credential.helper
> git config credential.helper 'store --file ~/.git_repo_credentials'
Примечание : эта команда создает новый файл с именем «.git_repo_credentials» в вашем домашнем каталоге, в который Git сохраняет ваши учетные данные. Если вы не укажете имя файла, Git будет использовать «.git_credentials» по умолчанию. В этом случае достаточно просто выполнить следующую команду:
> git config credential.helper store
git config credential.*.username my_user_name
Примечание : обычно используйте «*», если ваши репозитории принадлежат одному провайдеру (например, GitLab). Если вместо этого ваши репозитории размещаются у разных провайдеров, то я предлагаю явно установить ссылку на провайдера для каждого репозитория, как в следующем примере (для GitLab):
git config credential.https://gitlab.com.username my_user_name
На этом этапе, если вы
git pull
введете команду, требующую ваших учетных данных (например ), вас попросят ввести пароль, соответствующий «my_user_name». Это требуется только один раз, потому что git сохраняет учетные данные в «.git_repo_credentials» и автоматически использует те же данные при последующем доступе.источник
Из комментария rifrol о Linux Ubuntu, из этого ответа вот как в Ubuntu:
Некоторые другие дистрибутивы предоставляют бинарный файл, поэтому вам не нужно его создавать.
В OS X он обычно поставляется «встроенным» с модулем по умолчанию «osxkeychain», так что вы получаете его бесплатно.
источник
Проверьте официальную документацию по git:
https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage
источник