Select a credential helper что выбрать
Хранилище учётных данных
Если для подключения к удалённым серверам вы используете протокол SSH, то вы можете использовать ключ вместо пароля, что позволит вам безопасно передавать данные без ввода логина и пароля. Однако, это невозможно при использовании HTTP-протоколов — каждое подключение требует пары логин, пароль. Всё ещё сложнее для систем с двухфакторной аутентификацией, когда выражение, которое вы используете в качестве пароля, генерируется случайно и его сложно воспроизвести.
К счастью, в Git есть система управления учётными данными, которая может помочь в этом. В Git «из коробки» есть несколько опций:
По умолчанию Git не кеширует учётные данные совсем. Каждое подключение будет запрашивать у вас логин и пароль.
В режиме «cache» учётные данные сохраняются в памяти в течение определённого периода времени. Ни один из паролей никогда не сохраняется на диск и все они удаляются из кеша через 15 минут.
В режиме «store» учётные данные сохраняются на неограниченное время в открытом виде в файле на диске. Это значит что, до тех пор пока вы не измените пароль к Git-серверу, вам не потребуется больше вводить ваши учётные данные. Недостатком такого подхода является то, что ваш пароль хранится в открытом виде в файле в вашем домашнем каталоге.
На случай если вы используете Mac, в Git есть режим «osxkeychain», при использовании которого учётные данные хранятся в защищённом хранилище, привязанному к вашему системному аккаунту. В этом режиме учётные данные сохраняются на диск на неограниченное время, но они шифруются с использованием той же системы, с помощью которой сохраняются HTTPS-сертификаты и автозаполнения для Safari.
В случае если вы используете Windows, вы можете установить помощник, называемый «Git Credential Manager for Windows». Он похож на «osxkeychain», описанный выше, но для управления секретной информацией использует Windows Credential Store. Найти его можно по ссылке https://github.com/Microsoft/Git-Credential-Manager-for-Windows.
Вы можете выбрать один из этих методов, изменив настройки Git:
, который определяет где будет хранится файл с открытыми учётными данный (по умолчанию используется
Под капотом
Это команда, которая начинает взаимодействие.
После этого Git-credential ожидает данные из стандартного потока ввода. Мы передаём ему то, что знаем: протокол и имя сервера.
Пустая строка обозначает, что ввод закончен и система управления учётными данными должна ответить, что ей известно.
После этого Git-credential выполняет какую-то работу и выводит обнаруженную информацию.
Если учётные данные не найдены, Git спрашивает у пользователя логин/пароль, и выводит их обратно в задействованный поток вывода (в данном примере это одна и та же консоль).
get запрос логина и пароля.
store запрос на сохранение учётных данных в памяти помощника.
erase удаляет учётные данные для заданных параметров из памяти используемого помощника.
Ниже приведён пример, используемый ранее, но вместо git-credential напрямую вызывается git-credential-store:
Теперь мы извлечём эти учётные данные. Мы передаём часть уже известных нам параметров подключения ( https://mygithost ) и пустую строку.
git-credential-store возвращает логин и пароль, которые мы сохранили ранее.
Ниже приведено содержимое файла
Это просто набор строк, каждая из которых содержит URL, включающий в себя учётные данные. Помощники osxkeychain и wincred используют форматы, лежащие в основе их хранилищ, а cache использует его собственный формат хранения во внутренней памяти (который другие процессы прочитать не могут).
Собственное хранилище учётных данных
Поскольку git-credential-store и подобные ей утилиты являются отдельными от Git программами, не сложно сделать так, чтобы любая программа могла быть помощником авторизации Git. Помощники, предоставляемые Git, покрывают наиболее распространённые варианты использования, но не все. Для примера допустим, что ваша команда имеет некоторые учётные данные, совместно используемые всей командой, например, для развёртывания. Эти данные хранятся в общедоступном каталоге, но вы не хотите копировать их в ваше собственное хранилище учётных данных, так как они часто изменяются. Ни один из существующих помощников не покрывает этот случай; давайте посмотрим, что будет стоить написать свой собственный. Есть несколько ключевых особенностей, которым должна удовлетворять эта программа:
Мы должны уделить внимание только одной операции get ; store и erase являются операциями записи, поэтому мы не будем ничего делать при их получении.
Расположение это файла более-менее стандартное, но, на всякий случай, мы должны позволять пользователям передавать свой собственный путь.
Мы снова напишем расширение на Ruby, но подойдет любой язык, так как Git может использовать всё, что сможет запустить на выполнение. Ниже приведён полный исходный код нашего нового помощника авторизации:
Здесь мы разбираем аргументы командной строки, позволяя указывать пользователям входной файл. По умолчанию это
Эта программа отвечает только если операцией является get и файл хранилища существует.
Этот цикл читает содержимое файла хранилища, выполняя поиск соответствия. Если протокол и сервер из known соответствуют текущей строке, программа выводит результат и завершает работу.
Так как его имя начинается с «git-», мы можем использовать простой синтаксис для настройки:
Как вы видите, расширять эту систему довольно просто и это позволяет решить некоторые общие проблемы, которые могут возникнуть у вас и вашей команды.
Что нам стоит Git настроить!
Дарова, хабр! (ничего оригинальнее не придумал)
Сомневаюсь что эта заметка тянет на полноценный пост, но я все же оставлю ее здесь. О чем же пойдет речь?
Все мы слышали о Git. Все мы знаем что он — хорош. Но лишь немногие пытаются что-то с ним делать, как-то его протвикерить. Сразу говорю, тут не будет ничего паранормального, только немного работы с файлом .gitconfig. Да-да, именно с тем файлом, который так трепетно пылится у вас в домашней директории.
Так, мне уже немного надоело писать этот, по сути, бессмысленный вступительный текст, так что давайте уже начнем что-то делать.
Не знаю как на других системах, но в Linux он лежит в
. Если его там нету — смело создавайте!
Подсветка вывода
Себя записываем
Зачем это нужно? Если вы запустите git log для какого-то репозитория, вы увидите что для каждого коммита, автор характеризируется через Name и Email. Чтобы нас правильно нашли, настало время задать все это правильно. Внимание! Менять эту информацию во время разработки крайне нежелательно. Она может поломать историю (множественные автора)! Желательно единажды выбрать какое-то имя и конкретный Email.
Шаблон коммитов
Не знаю как другие хабровчане работают, но в основном мои коммиты идут в KDE Edu проекты. Там четко диктуют правила формы и вида коммита, так как он парсится разными ботами и т.д. Чтобы не дай Бог ошибиться или что-то неправильно сделать существуют шаблоны. Такой шаблон очень просто сделать (а можно и взять где-то). Чтобы он отображался во время git commit нужно добавить такое:
/.commit-template конечно же может быть любым файлом в вашей файловой системе.
Credential Helper
Бывает такое что нужно выполнить несколько операций с удаленным репозиторием за раз. Каждый раз вводить имя и пароль, имя и пароль, имя и… Напрягает, нет? Меня напрягает. Начиная с версии 1.7.10 Git поддерживает Credential Helper.
Ставим нужное время (у меня это 3600 — один час) и радуемся!
Алиасы для частых команд
Я очень часто пользуюсь командами checkout и branch, например. Писать по три-четыре раза одно и тоже — надоедает. Давайте заменим их на более лаконичный вариант: cd и dir, например.
А теперь посмотрим что мы сделали:
Без модификаций | С модификациями |
---|---|
Префиксы для remote
Есть один трюк, который нередко используется разработчиками. Это префиксы для remote. Они позволяют сократить длину адреса к удаленному репозиторию. Можно задать такие для read-only и push. Зачем? Это логично для open-source проектов. Для уменшения нагрузки на сервер и скорости, лучше pull’ить из anongit (read-only) без использования SSH. Что стоит у меня для KDE?
Давайте разбираться. Тут мы настроили два URL для pull и push. Задали префикс kde. Что это нам дает? Посмотрим на примере (в статье не указан префикс gh — для GitHub):
Без модификаций | С модификациями |
---|---|
Стало лучше, не правда ли?
Заключение
В статье были опущены мои всякие «экзотические» алиасы и доп. префиксы для разных сервисов. Смело могу сказать, что после того как потвикерил Git — работать стало приятнее. Все знакомые, которые опробовали это — согласились со мной.
P.S. Если я что-то делаю неправильно или я уже совсем убогий, пожалуйста, отпишите ко мне в ЛС и сообщите/посоветуйте (если вам не сложно, конечно).
UPD: Больше интересного и свежего можно найти тут.
Удаление учетных данных из Git
Я работаю с несколькими репозиториями, но в последнее время я просто работал в нашем внутреннем, и все было здорово.
сегодня мне пришлось совершить и вставить код в другой, но у меня возникли некоторые проблемы.
Я ничего не могу сделать, чтобы снова ввести пароль.
как я могу сбросить учетные данные в моей системе, чтобы Git попросил у меня пароль этого репозитория?
для того чтобы сбросить пароль
во избежание кэширования учетных данных.
кажется, ничего не работает; у кого-нибудь есть идея получше?
21 ответов
кэш учетных данных Git запускает процесс демона, который кэширует ваши учетные данные в памяти и передает их по требованию. Таким образом, убийство вашего процесса git-credential-cache-daemon выбрасывает все это и приводит к повторному запросу пароля, если вы продолжаете использовать его в качестве кэша.вспомогательный вариант.
выписка из руководство по Windows подробно Панель хранилища учетных данных Windows:
откройте учетные записи пользователей, щелкнув изображение кнопки Пуск кнопки Пуск, щелкнув Панель управления, щелкнув учетные записи пользователей и безопасность семьи (или щелкнув учетные записи пользователей, если вы подключены к сетевому домену), а затем щелкнув учетные записи пользователей. В левой области щелкните Управление учетными данными.
Если эта проблема возникает на компьютере под управлением Windows, выполните следующие действия.
и затем вам будет предложено снова ввести свои учетные данные.
предупреждение
использование этого помощника сохранит ваши пароли незашифрованными на диске
я столкнулся с той же проблемой, что и ОП. Он принимал мои старые учетные данные Git, хранящиеся где-то в системе, и я хотел использовать Git с моими новыми учетными данными, поэтому я запустил команду
всякий раз, когда я выполнял git push это было мое старое имя пользователя, которое я установил давно, и я хотел использовать новую учетную запись GitHub для внесения изменений. Позже я обнаружил, что мои старые учетные данные учетной записи GitHub хранятся под Панель Управления → Учетные Записи Пользователей → Диспетчер Учетных Данных → Управление Учетными Данными Windows.
Я просто удалил эти учетные данные и когда я выполнил git push он попросил у меня мои учетные данные GitHub, и это сработало как шарм.
попробуйте использовать следующую команду.
здесь вы можете получить различные опции для управления учетными данными (проверьте экран ниже).
или вы даже можете напрямую попробовать этот команду:
это снова начнет запрашивать пароли для каждого запроса взаимодействия с сервером.
в моем случае Git использует Windows для хранения учетных данных.
все, что вам нужно сделать, это удалить сохраненные учетные данные, хранящиеся в вашей учетной записи Windows:
Я нашел то, что работал для меня. Когда я писал свой комментарий к OP, мне не удалось проверить файл конфигурации системы:
линии. Я снимаю его с
и теперь учетные данные будут забыты.
покажет credential.helper = manager (это на машине windows)
чтобы отключить это кэшированное имя пользователя / пароль для текущей локальной папки git, просто введите
таким образом, git будет запрашивать пароль каждый раз, игнорируя то, что сохраняется внутри «менеджер».
необходимо войти в систему с соответствующим github username и password
чтобы очистить имя пользователя и пароль в windows
Панель Управления\Учетные Записи Пользователей\Диспетчер Учетных Данных
редактировать учетные данные windows
теперь мы можем нажать кода после переключение пользователей.
это сработало для меня, и теперь, когда я нажимаю на пульт, он снова запрашивает мой пароль.
в случае диспетчер учетных данных Git для Windows используется (что обычно делают текущие версии):
Это добавлена середина 2016. Чтобы проверить, используется ли диспетчер учетных данных:
в моем случае я не смог найти учетные данные, сохраненные в Диспетчере учетных данных Windows (Windows 7).
я смог сбросить свои учетные данные, выполнив
честно говоря, это был град Марии, чтобы увидеть, если это уничтожит мои учетные данные, и это действительно сработало.
Как избежать указания имени пользователя и пароля при каждом нажатии git?
Я git push моя работа в удаленном репозитории Git.
18 ответов:
1. Сгенерировать ключ SSH
Linux / Mac
откройте терминал для создания ssh ключей:
Для Windows
(работает только в том случае, если программа фиксации способна использовать сертификаты/закрытые и открытые ключи ssh)
здесь прохождение на ген замазки для вышеуказанного действия
2. Свяжите ключ SSH с удаленным репозиторием
этот шаг зависит от настройки пульта дистанционного управления.
если это репозиторий GitHub и у вас есть права администратора, перейдите к настройки и нажмите кнопку «добавить ключ SSH». Скопируйте содержимое вашего
/.ssh/id_rsa.pub в поле «Ключ».
если ваш удаленный репозиторий управляется вами, вы можете использовать эту команду, например:
3. Установите удаленный URL-адрес в форму, которая поддерживает SSH 1
если вы выполнили описанные выше действия и все еще получаете запрос пароля, убедитесь, что Ваш URL-адрес РЕПО находится в форме
чтобы увидеть URL вашего РЕПО, выполните:
вы можете изменить URL-адрес:
[1] в этом разделе содержится ответ от Эрик Р
постоянная аутентификация с помощью репозиториев Git,
выполните следующую команду, чтобы включить кэширование учетных данных.
использовать также следует указать срок действия кэширования истекает,
после включения кэширования учетных данных, он будет кэшироваться для 7200 секунд (2 часа).
Примечание: набор вспомогательных хранить незашифрованный пароль на локальный диск.
если вы уже настроили ключи SSH и все еще получаете запрос пароля, убедитесь, что Ваш URL-адрес РЕПО находится в форме
чтобы увидеть URL вашего РЕПО, выполните:
вы можете изменить URL с помощью git remote set-url вот так:
Сохранение На Неопределенный Срок
можно использовать git-credential-store через
использование этого помощника будет хранить ваши пароли в незашифрованном виде на диске, защищенном только разрешениями файловой системы. Если это неприемлемый компромисс безопасности, попробуйте git-credential-cache или найдите помощника, который интегрируется с безопасным хранилищем, предоставляемым вашей операционной системой система.
с таймаутом
использовать git-credential-cache который по умолчанию хранит пароль в течение 15 минут.
Безопасное Сохранение На Неопределенный Срок (OS X и Windows)
я использовал https ссылку ( https://github.com/org/repo.git ) вместо ссылки ssh;
переключение решило проблему для меня!
подключите Git-клиент к хранилищу учетных данных ОС. Например, в Windows вы привязываете помощник учетных данных к wincred:
я использовал ответ, который предложил Павел, и это сработало для меня. Моя разница заключалась в том, чтобы сделать это, пока я добавлял пульт так: git remote add (alias) https://(name:password)@github.com/(the remote address).git
в операционной системе Windows используйте это вместо этого, это работает для меня:
просто хотел указать что-то о решении, сказанном выше несколько раз:
вы можете использовать любую команду, которая требует после этого пароль. Тебе не нужно давить. (вы также можете вытащить, например) после этого вам не нужно будет снова вводить свое имя пользователя / пароль.
все это возникает из-за того, что git не предоставляет опцию в командах clone/pull/push/fetch для отправки учетных данных через канал. Хотя это дает верительные грамоты.помощник, он хранит в файловой системе или создает демон и т. д. Часто учетные данные GIT являются системными, и ответственность за их безопасность лежит на приложении, вызывающем команды git. Очень небезопасно.
GIT CLONE
для клонирования, с помощью «ЖКТ URL-адрес клонировать» после изменения URL-адреса из формата, в HTTP://<мой_логин>@
очистить хранилище паролей как в следующем разделе.
очистка
теперь, это пошло бы и
Если ваше приложение использует Java для выполнения этих команд, используйте ProcessBuilder вместо Runtime. Если необходимо использовать Runtime, используйте getRunTime ().exec, который принимает массив строк в качестве аргументов с /bin / bash и-c в качестве аргументов, а не тот, который принимает одну строку в качестве аргумента.
GIT FETCH / PULL / PUSH
если ваш компьютер защищен или вы не заботитесь о безопасности паролей, это может быть достигнуто очень просто. При условии, что удаленный репозиторий на GitHub и origin это ваше локальное имя для удаленного репозитория, используйте эту команду
предупреждение: это по своей сути небезопасно, потому что:
ваш интернет-провайдер или любой, кто регистрирует доступ к сети, может легко см. пароль в виде обычного текста в разделе URL;
вот почему использование ключа SSH является принятым ответом.
но раскрывая свой пароль хуже. Если злоумышленник узнает ваше имя пользователя+пароль, они могут сделать такие вещи, как заблокировать вас из вашей собственной учетной записи, удалить вашу учетную запись, навсегда удалить репозиторий, так далее.
вы должны настроить SSH закрытый ключ, вы можете просмотреть это страница, Как сделать установку на Mac, Если вы находитесь на linux руководство должно быть почти то же самое, на Windows вам понадобится инструмент, как MSYS.
создайте SSH-ключи в своей системе linux, используя следующую команду
Он будет запрашивать пароль и имя файла (по умолчанию
после создания файлов добавьте открытый ключ id_rsa.паб в раздел ssh учетной записи github.
на вашем компьютере добавьте закрытый ключ id_rsa в ssh-агент, используя следующую команду
Теперь добавить git@github.com:user_name/repo_name.git удаленного URL-адреса на локальный репозиторий Git, используя следующую команду.
похоже, что, по крайней мере, при использовании TortoiseGIT в Windows, можно создать ключи SSH и передать их на сервер GIT, используя просто:
вы должны настроить удаленный URL ssh, как описано выше.
запуск команды ниже решил проблему для меня.
пожалуйста, обратитесь к приведенной ниже документации github:
Как сохранить имя пользователя и пароль в git [GitExtension]?
Так как я могу сохранить свои учетные данные в git?
укажите имя пользователя и пароль, и эти подробности будут запомнены позже. Учетные данные хранятся в файле на диске с правами доступа «только для чтения / записи», но в открытом виде.
Если вы хотите изменить пароль позже
Не удастся, потому что пароль неверный, git затем удалит из
предоставить новый пароль, чтобы он работал как раньше.
Вы можете использовать git config для включения хранилища учетных данных в git.
При запуске этой команды при первом извлечении или удалении из удаленного репозитория вам будет задан вопрос об имени пользователя и пароле.
После этого для последовательной связи с удаленным репозиторием вам не нужно указывать имя пользователя и пароль.
Если это нежелательно для вас, используйте ssh key вместо этого для своих учетных записей.
Рекомендуемый и безопасный метод: SSH
Затем, если закрытый ключ сохранен как id_rsa в каталоге
Более безопасный метод: кэширование
Мы можем использовать git-credential-store для кэширования нашего имени пользователя и пароля на определенный период времени. Просто введите следующее в свой CLI (терминал или командная строка):
Вы также можете установить период ожидания (в секундах) следующим образом:
Еще менее безопасный метод
Git-credential-store также может использоваться, но сохраняет пароли в виде простого текстового файла на вашем диске как таковое:
Это небезопасный способ хранения вашего пароля в виде простого текста. Если кто-то получит контроль над вашим компьютером, ваш пароль будет раскрыт!
Вы можете установить свое имя пользователя и пароль следующим образом:
Включите помощник по учетным данным, чтобы Git сохранял ваш пароль в памяти в течение некоторого времени:
В Терминале введите следующее:
По умолчанию Git кеширует ваш пароль в течение 15 минут.
Чтобы изменить время ожидания кэша паролей по умолчанию, введите следующее:
Вы можете редактировать
/.gitconfig файл для хранения ваших учетных данных
Который уже должен иметь
Вы должны добавить внизу этого файла.
Причина, по которой я рекомендую эту опцию, заключается в том, что она носит глобальный характер, и если в какой-то момент вам нужно удалить опцию, вы знаете, куда идти и изменить ее.
ИСПОЛЬЗУЙТЕ ЭТОТ ВАРИАНТ ТОЛЬКО В ВАШЕМ ЛИЧНОМ КОМПЬЮТЕРЕ.
Тогда, когда вы тянете | клон | введите ваш пароль git, в общем, пароль будет сохранен в
ГДЕ DOMAIN.XXX МОЖЕТ БЫТЬ GITHUB.COM | BITBUCKET.ORG | ДРУГОЙ
Перезапустите свой терминал.
Просто поместите свои учетные данные в URL-адрес следующим образом:
https://Username : Password @ github.com/myRepoDir/myRepo.git
Вы можете хранить это так:
git remote add myrepo https://Userna.
. пример его использования :
. и что команда удалить один из них:
git remote rm myrepo
Для глобальной настройки откройте терминал (из любого места) и выполните следующее:
Таким образом, любая локальная версия git-репо, имеющаяся на вашем компьютере, будет использовать эту информацию.
Вы можете индивидуально настроить для каждого репо, выполнив:
Это влияет только на эту папку (потому что ваша конфигурация является локальной).
Вы можете использовать git-credential-store для хранения незашифрованных паролей на диске, защищенных только разрешениями файловой системы.
пример
Вы можете проверить учетные данные, хранящиеся в файле
Вы будете более защищены, если будете использовать аутентификацию SSH, чем аутентификация по имени пользователя / паролю.
Если вы используете Mac, аутентификация клиента SSH интегрирована в связку ключей MacOS. Создав ключ SSH, введите в свой терминал:
Это добавит закрытый ключ SSH в цепочку ключей MacOS. Клиент git будет использовать ssh при подключении к удаленному серверу. Пока вы зарегистрируете свой открытый ключ ssh на сервере, все будет в порядке.
Изучив десятки SO-сообщений, блогов и т. Д., Я опробовал каждый метод, и это то, что я придумал. Это охватывает ВСЕ.
The Vanilla DevOps 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, который скажет git запомнить ваш пароль и имя пользователя GitHub с помощью следующей командной строки:
и если вы используете репо с использованием ключа SSH, то вам нужен ключ SSH для аутентификации.
Ни один из ответов выше не работал для меня. Я получал следующее каждый раз, когда хотел fetch или pull :
Enter passphrase for key ‘/Users/myusername/.ssh/id_rsa’:
Для Mac
Я смог остановить его от запроса моей парольной фразы:
Для Windows
Я смог заставить его работать, используя информацию в этом стеке обмена: https://unix.stackexchange.com/a/12201/348665
/.gitconfig файла, что вы можете сделать, если спросите:
Примечание, чтобы всегда использовать одинарные кавычки:
Ваше имя пользователя и пароль могут использовать некоторые символы, которые взломают ваш пароль, если вы используете двойные кавычки.
Итак, чтобы сохранить логин и пароль (токен доступа):
Это очень полезно для робота github, например, для решения цепных автоматических сборок в одном и том же хранилище докеров с помощью правил для разных веток, а затем для запуска их, вставив их в post_push перехватчик в концентраторе докеров.
Пример этого можно увидеть здесь в stackoverflow.
Быстрый способ кэширования учетных данных git:
красиво и безопасно
Тайм-аут в секундах.
Примечание : эта команда создает новый файл с именем «.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:
К счастью, у Git есть система учетных данных, которая может помочь с этим. У Git есть несколько опций, представленных в коробке:
По умолчанию кеш вообще не кешируется. Каждое соединение будет запрашивать у вас имя пользователя и пароль.
Режим «кэш» хранит учетные данные в памяти в течение определенного периода времени. Ни один из паролей никогда не хранится на диске, и они удаляются из кэша через 15 минут.
Режим «хранилище» сохраняет учетные данные в виде простого текстового файла на диске, и они никогда не истекают. Это означает, что до тех пор, пока вы не измените свой пароль для хоста Git, вам больше никогда не придется вводить свои учетные данные. Недостатком этого подхода является то, что ваши пароли хранятся в виде открытого текста в обычном файле в вашем домашнем каталоге.
Если вы используете Mac, Git поставляется с режимом «osxkeychain», который кэширует учетные данные в безопасной цепочке для ключей, привязанной к вашей системной учетной записи. Этот метод сохраняет учетные данные на диске, и срок их действия никогда не истекает, но они зашифрованы той же системой, в которой хранятся сертификаты HTTPS и автозаполнения Safari.
Вы можете выбрать один из этих методов, установив значение конфигурации Git: