Найти тему
Snobs prohibited

Настройка авторизации в Git

Знаю, что это нафиг никому не нужно, поэтому сохраняю нижеприведённую информацию, можно сказать, чисто для себя.

Вызвано это тем, что я уже несколько раз сталкивался с одной неприятной ситуацией. После смены пароля на корпоративный аккаунт, под которым осуществляется доступ в том числе к Git-репозиторию, и который необходимо менять каждые 3 месяца в соответствии с политикой безопасности, невозможно каким бы то ни было образом взаимодействовать с репозиторием (push, pull, check out и т.п.). Клиент говорит "invalid credentials".

Сегодня столкнулся с подобной ситуацией: не мог склонировать проект, т.к. клиент так же ругался на "invalid credentials".

Поэтому на будущее решил написать коротенькую иструкцию по быстрой настройке авторизации в Git.

Первое, что можно попробовать, это настроить имя пользователя и пароль в глобальном конфигурационном файле .gitconfig, который лежит скорее всего в домашней папке пользователя (у меня на винде это C:/Users/<мой логин>). Для этого выполняем следующие две команды:

Посмотрим, как изменилось содержимое файла .gitconfig:

-2

Второй способ я использовал при клонировании. Тут всё ещё проще. Добавим имя пользователя и пароль прямо к URL в команде git clone:

git clone http://<логин>:<пароль>@<URL репозитория>

Таким образом информация сохранится в настройках локального репозитория, в файле .git/config:

-3

Также можно настроить имя пользователя с паролем в файле .git/config локального репозитория и командой git config (см. выше). Нужно просто выполнять её, находять в локальном репозитории и без указания параметра --global.

Минус всей этой ерунды в том, что логин и пароль будут легко и непринуждённо лежать прямо в обычном текстовом файле, но в защищённой корпоративной сети я не особо об этом беспокоюсь.