Какой способ авторизации в Git-репозиториях?

«Какой способ авторизации в Git-репозиториях?» — вопрос из категории DevOps, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Основные способы аутентификации при работе с удалёнными Git-репозиториями (GitHub, GitLab, Bitbucket):

  1. SSH-ключи (наиболее распространённый и рекомендуемый способ):

    • Использует пару криптографических ключей (приватный и публичный).
    • Публичный ключ добавляется в настройки аккаунта на хостинге (например, GitHub).
    • При подключении происходит автоматическая аутентификация.
      # Клонирование репозитория по SSH
      git clone git@github.com:username/repository.git
  2. Personal Access Token (PAT) для HTTPS:

    • Сгенерированный токен используется вместо пароля при HTTPS-подключении.
    • Обязателен для GitHub и часто используется в CI/CD-пайплайнах.
      git clone https://github.com/username/repository.git
      # Запрос логина и пароля/токена
  3. OAuth / Git Credential Manager:

    • Менеджеры учётных данных (встроенный в Git for Windows, macOS Keychain) кэшируют логин и токен, избавляя от постоянного ввода.

Выбор способа: Для локальной разработки удобнее SSH. Для автоматизации (CI/CD) и некоторых корпоративных сценариев — PAT.