# Кэширование учетных данных GitHub в Git

Если вы клонируете репозитории GitHub с помощью HTTPS, рекомендуется использовать GitHub CLI или диспетчер учетных данных Git (GCM) для запоминания учетных данных.

> \[!TIP]
> Если клонировать репозитории GitHub с помощью SSH, можно выполнить проверку подлинности с помощью ключа SSH вместо использования других учетных данных. Сведения о настройке подключения SSH см. в разделе [Подключение к GitHub через SSH](/ru/enterprise-server@3.22/authentication/connecting-to-github-with-ssh).

## GitHub CLI

GitHub CLI автоматически сохраняет учетные данные Git при выборе `HTTPS` в качестве предпочтительного протокола для операций Git и ответить "да" запросу на запрос, хотите ли выполнять проверку подлинности в Git с помощью учетных данных GitHub .

1. [Install](https://github.com/cli/cli#installation) GitHub CLI на macOS, Windows или Linux.
2. В командной строке введите `gh auth login` и следуйте инструкциям.
   * При появлении запроса на выбор предпочтительного протокола для операций Git выберите `HTTPS`.
   * Если вы хотите пройти проверку подлинности в Git с помощью учетных данных GitHub, введите `Y`.

Дополнительные сведения о проверке подлинности с помощьюGitHub CLI см. в разделе [`gh auth login`](https://cli.github.com/manual/gh_auth_login).

## Диспетчер учетных данных Git

[Git Credential Manager](https://github.com/GitCredentialManager/git-credential-manager) (GCM) — ещё один способ безопасно хранить учетные данные и подключаться к GitHub через HTTPS. При использовании GCM вам не нужно вручную [создавать и хранить personal access token](/ru/enterprise-server@3.22/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens), так как GCM управляет проверкой подлинности от вашего имени, включая 2FA (двухфакторная проверка подлинности).

<div class="ghd-tool mac">

1. Установите Git с помощью [Homebrew](https://brew.sh/):

   ```shell
   brew install git
   ```

2. Установите GCM с помощью Homebrew:

   ```shell
   brew install --cask git-credential-manager
   ```

Для macOS вам не нужно запускаться `git config` , так как GCM автоматически настраивает для вас Git.

При следующем клонировании URL-адреса HTTPS, требующего проверки подлинности, Git предложит вам войти в систему с помощью окна браузера. Сначала вам может потребоваться авторизовать OAuth app. Если для учетной записи или организации требуется [двухфакторная проверка подлинности](/ru/enterprise-server@3.22/authentication/securing-your-account-with-two-factor-authentication-2fa), вам также потребуется выполнить задачу 2FA.

После успешной проверки подлинности учетные данные хранятся в цепочке ключей macOS и будут использоваться при каждом клонировании URL-адреса HTTPS. Git не потребует повторно вводить учетные данные в командной строке, если только вы не измените учетные данные.

</div>

<div class="ghd-tool windows">

1. Установите Git для Windows, который включает GCM. Для получения дополнительной информации смотрите [Git для Windows релизов](https://github.com/git-for-windows/git/releases/latest) на странице [releases](https://github.com/git-for-windows/git/releases/latest).

Рекомендуется всегда устанавливать последнюю версию. Минимум установите версию 2.29 или выше, которая является первой версией с поддержкой OAuth для GitHub.

При следующем клонировании URL-адреса HTTPS, требующего проверки подлинности, Git предложит вам войти в систему с помощью окна браузера. Сначала вам может потребоваться авторизовать OAuth app. Если для учетной записи или организации требуется [двухфакторная проверка подлинности](/ru/enterprise-server@3.22/authentication/securing-your-account-with-two-factor-authentication-2fa), вам также потребуется выполнить задачу 2FA.

После успешной аутентификации ваши учетные данные хранятся в менеджере учетных данных Windows и будут использоваться каждый раз при клонировании HTTPS-адреса. Git не потребует повторно вводить учетные данные в командной строке, если только вы не измените учетные данные.

<br>

> \[!WARNING]
> Старые версии Git for Windows оснащались Git Credential Manager для Windows. Этот старый продукт больше не поддерживается и не может подключаться к GitHub через OAuth. Рекомендуем обновиться до [последней версии Git для Windows](https://github.com/git-for-windows/git/releases/latest).

> \[!WARNING]
> Если вы кэшировали некорректные или устаревшие учетные данные в Credential Manager для Windows, Git не сможет получить доступ к GitHub. Чтобы сбросить кэшированные учетные данные так, чтобы Git запросил вас ввести ваши учетные данные, перейдите в Менеджер учетных данных в Windows Control Panel в разделе «Учетные записи пользователей» > Менеджер по аккредитации. Найдите запись GitHub и удалите ее.

</div>

<div class="ghd-tool linux">

Для Linux установите Git и GCM, а затем настройте Git для использования GCM.

1. Установите Git из системы управления пакетами дистрибутива. Конкретные инструкции зависят от используемой версии Linux.

2. Установите GCM. Обратитесь к [инструкциям в репозитории GCM](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/install.md), так как они будут отличаться в зависимости от используемой версии Linux.

3. Настройте Git для использования GCM. Вы можете выбрать несколько резервных хранилищ, поэтому ознакомьтесь с документацией по GCM, чтобы завершить настройку. Дополнительные сведения см. в разделе [GCM Linux](https://aka.ms/gcmcore-linuxcredstores).

При следующем клонировании URL-адреса HTTPS, требующего проверки подлинности, Git предложит вам войти в систему с помощью окна браузера. Сначала вам может потребоваться авторизовать OAuth app. Если для учетной записи или организации требуется [двухфакторная проверка подлинности](/ru/enterprise-server@3.22/authentication/securing-your-account-with-two-factor-authentication-2fa), вам также потребуется выполнить задачу 2FA.

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

Дополнительные варианты хранения учетных данных в Linux см. в разделе [Хранилище учетных данных](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage) в Pro Git.

</div>

<br>

Дополнительные сведения или сведения о проблемах с GCM см. в официальных документах GCM в [Git Credential Manager](https://github.com/GitCredentialManager/git-credential-manager).