Портал Солнечного Ветра
Создатель проекта: Ларионов Андрей Николаевич
Генерация токенов в GitHub

Генерация токенов в GitHub


Автор: admin Дата: 2026-09-06 14:08:59

Для работы с приватными репозиториями GitHub через HTTPS требуется аутентификация. Классические пароли больше не поддерживаются, поэтому используется персональный токен доступа (PAT — Personal Access Token).

Ниже приведена инструкция по обновлению токена и его использованию.

Шаг 1. Генерация нового токена на GitHub

  1. Перейдите в свой профиль на GitHub: SettingsDeveloper settingsPersonal access tokensTokens (classic).
  2. Нажмите Generate new tokenGenerate new token (classic).
  3. Задайте имя токену (например, «Обновление директории проекта X»), срок действия (рекомендуется от 30 до 90 дней) и описание.
  4. В разделе прав (Scopes) выберите как минимум repo (Full control of private repositories). Этого достаточно для клонирования, скачивания (pull) и отправки изменений (push) в приватные репозитории.
  5. Нажмите кнопку генерации и обязательно скопируйте полученный токен. На сайте он больше никогда не будет показан полностью.

Шаг 2. Обновление учетных данных в локальном клиенте Git

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

Способ 1. Через удаление из менеджера учетных данных (рекомендуемый)

Это самый чистый способ, который удаляет старый токен из системного хранилища.

  • Windows (Credential Manager):
    1. Откройте «Панель управления» → «Диспетчер учетных данных» (или нажмите Win + R, введите control keymgr.dll).
    2. Найдите запись вида git:https://github.com.
    3. Нажмите на нее и выберите «Удалить».
  • macOS (Keychain Access):
    1. Откройте приложение «Связка ключей» (Keychain Access).
    2. В поиске введите github.com.
    3. Найдите элемент интернет-пароля для github.com и удалите его (нажав клавишу Delete).
  • Linux:
    • Если вы используете кэширующий демон git-credential-libsecret: запустите командную строку и выполните команду printf "protocol=https\nhost=github.com\n" | git credential-reject. Либо найдите и удалите файл ~/.git-credentials.
    • Если используется простой текстовый файл: откройте ~/.git-credentials любым редактором и удалите строку, содержащую ваш логин и адрес github.com.

Способ 2. Прямое редактирование файла .git-credentials (если он используется)

Если ваша система настроена на хранение токенов в открытом виде:

  1. Проверьте текущую настройку: git config --global credential.helper.
  2. Если вывод содержит store, откройте файл командой nano ~/.git-credentials.
  3. Найдите строку, начинающуюся с https://<ваш_логин>@github.com, удалите её целиком или замените старый токен после двоеточия на новый.
  4. Сохраните файл.

Шаг 3. Применение нового токена

После удаления старых данных просто выполните нужную команду в терминале внутри вашей директории:

bash
				git pull origin master

(Или любую другую: git push, git fetch).

Git обратится к серверу Github.com, получит отказ в доступе со старым токеном (который мы только что удалили), поймет, что нужны новые учетные данные, и выведет интерактивный запрос:

  • Username for 'https://github.com': — введите здесь свой никнейм на GitHub.
  • Password for 'https://ВАШ_НИК@git...':сюда вставьте скопированный PAT. При вводе символы отображаться не будут, это нормально.

Введенные данные перехватит менеджер учетных данных и сохранит их автоматически. Все последующие команды (pull, push, fetch) будут проходить без запросов авторизации до тех пор, пока снова не истечет срок действия токена.

Как использовать токен напрямую в команде (не рекомендуется)

Токен можно передать прямо в URL-адрес репозитория. Это полезно для скриптов автоматизации, но крайне небезопасно делать в обычном терминале, так как токен сохранится в истории команд (history):

bash
				git pull https://<ВАШ_ТОКЕН>@github.com/ваше_имя/приватный_репозиторий.git master

При таком использовании Git временно проигнорирует настройки менеджера учетных данных и использует переданный токен только для этой операции.

Альтернатива: SSH-ключи

Чтобы вообще не сталкиваться с проблемой обновления токенов каждые несколько месяцев, удобнее настроить подключение по SSH:

  1. Сгенерируйте пару ключей (ssh-keygen -t ed25519).
  2. Добавьте публичный ключ в настройки своего профиля GitHub (SettingsSSH and GPG keys).
  3. Измените адрес вашего удаленного репозитория: git remote set-url origin git@github.com:ваше_имя/приватный_репозиторий.git. После этого команды git pull и git push будут работать без ввода каких-либо паролей и токенов, используя вашу локальную пару ключей.
Если вы считаете текст данного блога оскорбительным или некорректным, напишите об этом по адресу IntegralAL@mail.ru с URL-адресом блога. В теме письма пишите <Жалоба>, либо <Неккоректно>.

Теги блога:

Программирование
Инженерия
ИИ
Назад к блогам