Git — Настройка Username | Password — Хранение Учетных Данных

Для подключения к Git-репозиторию с аутентификацией по HTTP(S) каждый раз необходимо вводить имя пользователя и пароль.

Вы можете настроить запоминание Git’ом имени пользователя и пароля указав их в URL репозитория, либо используя credential.helper.

В этой статье я покажу, как клонировать Git-репозиторий, задавая имя пользователя и пароль в URL репозитория, как сохранить имя пользователя и пароль в Git-овском хранилище учетных данных и как настроить хранение разных учетных данных для разных репозиториев на одном и том же Git-сервере.

Дельный Совет: Отображение текущей Git-ветки в терминале! Чатать далее →

Внимание: В зависимости от выбранного вами метода, учетные данные Git будут храниться в файлах .git/config или ~/.git-credentials в открытом виде.

Имя Пользователя и Пароль в URL Git-репозитория

Для сохранения учетных данных вы можете клонировать Git-репозиторий, задав имя пользователя и пароль в командной строке:

$ git clone https://<USERNAME>:<PASSWORD>@github.com/path/to/repo.git

Имя пользователя и пароль будут сохранены в файле .git/config, как часть URL удаленного репозитория.

Если вы клонировали репозиторий без указания имени пользователя и пароля в URL репозитория, вы всегда можете обновить его выполнив следующую команду:

$ git remote set-url origin https://<USERNAME>:<PASSWORD>@github.com/path/to/repo.git

Хранилище Учетных Данных в Git

Выполните следующую команду, чтобы активировать хранилище учетных данных в вашем Git-репозитории:

$ git config credential.helper store

Чтобы активировать хранилище учетных данных для всех Git-репозиториев, выполните:

$ git config --global credential.helper store

После активации хранилища, при первом выполнении команд git pull или git push вам нужно будет ввести имя пользователя и пароль, которые они будут сохранены в файле ~/.git-credentials.

Во время следующих взаимодействий с удаленным Git-репозиторием вам больше не нужно будет указывать имя пользователя и пароль.

Каждая учетная запись в файле ~/.git-credentials хранится на отдельной строке в виде URL:

https://<USERNAME>:<PASSWORD>@github.com

Имена Пользователей и Пароли для Разных Репозиториев

Иногда вам может понадобиться использовать разные аккаунты при подключении к одному Git-серверу, например корпоративную учетную запись вашей компании на github.com и вашу личную учетную запись.

Чтобы иметь возможность хранить разные имена пользователей и пароли для разных Git-репозиториев на одном и том же Git-сервере, вы можете включить опцию useHttpPath.

By default, Git does not consider the «path» component of an http URL to be worth matching via external helpers. This means that a credential stored for https://example.com/foo.git will also be used for https://example.com/bar.git. If you do want to distinguish these cases, set useHttpPath option to true (source)

Выполните следующие команды, чтобы настроить хранилище учетных данных в Git на раздельное хранение логинов и паролей для различных репозиториев на github.com:

$ git config --global credential.helper store
$ git config --global credential.github.com.useHttpPath true

Имена пользователей и паролей для различных репозиториев на GitHub будут храниться раздельно в файле ~/.git-credentials:

https://<USERNAME>:<PASSWORD>@github.com/path/to/repo1.git
https://<USERNAME>:<PASSWORD>@github.com/path/to/repo2.git

Дельный Совет: Как создать новую ветки и сразу перейти в нее! Читать далее →