Для работы с приватными репозиториями GitHub через HTTPS требуется аутентификация. Классические пароли больше не поддерживаются, поэтому используется персональный токен доступа (PAT — Personal Access Token).
Ниже приведена инструкция по обновлению токена и его использованию.
repo (Full control of private repositories). Этого достаточно для клонирования, скачивания (pull) и отправки изменений (push) в приватные репозитории.Git сам по себе не хранит пароли или токены. Этим занимается специальный менеджер учетных данных вашей операционной системы. Чтобы обновить токен, нужно заставить систему забыть старые данные и ввести новые при следующем обращении к репозиторию.
Это самый чистый способ, который удаляет старый токен из системного хранилища.
Win + R, введите control keymgr.dll).git:https://github.com.github.com.github.com и удалите его (нажав клавишу Delete).git-credential-libsecret: запустите командную строку и выполните команду printf "protocol=https\nhost=github.com\n" | git credential-reject. Либо найдите и удалите файл ~/.git-credentials.~/.git-credentials любым редактором и удалите строку, содержащую ваш логин и адрес github.com.Если ваша система настроена на хранение токенов в открытом виде:
git config --global credential.helper.store, откройте файл командой nano ~/.git-credentials.https://<ваш_логин>@github.com, удалите её целиком или замените старый токен после двоеточия на новый.После удаления старых данных просто выполните нужную команду в терминале внутри вашей директории:
git pull origin master
(Или любую другую: git push, git fetch).
Git обратится к серверу Github.com, получит отказ в доступе со старым токеном (который мы только что удалили), поймет, что нужны новые учетные данные, и выведет интерактивный запрос:
Введенные данные перехватит менеджер учетных данных и сохранит их автоматически. Все последующие команды (pull, push, fetch) будут проходить без запросов авторизации до тех пор, пока снова не истечет срок действия токена.
Токен можно передать прямо в URL-адрес репозитория. Это полезно для скриптов автоматизации, но крайне небезопасно делать в обычном терминале, так как токен сохранится в истории команд (history):
git pull https://<ВАШ_ТОКЕН>@github.com/ваше_имя/приватный_репозиторий.git master
При таком использовании Git временно проигнорирует настройки менеджера учетных данных и использует переданный токен только для этой операции.
Чтобы вообще не сталкиваться с проблемой обновления токенов каждые несколько месяцев, удобнее настроить подключение по SSH:
ssh-keygen -t ed25519).git remote set-url origin git@github.com:ваше_имя/приватный_репозиторий.git. После этого команды git pull и git push будут работать без ввода каких-либо паролей и токенов, используя вашу локальную пару ключей.