Git WindowsLinuxmacOSGit

Git: После смены токена git push продолжает использовать старые учётные данные

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

После замены токена удалённый сервер Git может продолжать получать прежние учётные данные из менеджера паролей или из настроенного URL. Нужно определить используемый адрес и диспетчер авторизации, затем удалить только старую запись, не раскрывая токен.

В этой статье
  1. Как проявляется ошибка и когда применим способ
  2. Причины и признаки
  3. Пошаговая диагностика и решение
  4. Проверка результата и действия при повторении

#Как проявляется ошибка и когда применим способ

После замены токена удалённый сервер Git может продолжать получать прежние учётные данные из менеджера паролей или из настроенного URL. Нужно определить используемый адрес и диспетчер авторизации, затем удалить только старую запись, не раскрывая токен.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Сохранён устаревший HTTPS-токенМенеджер учётных данных повторно отдаёт старый секрет.Push запрашивает доступ, но сервер отвечает 401/403 с уже изменённым токеном.Обновить конкретную запись в диспетчере учётных данных.
Смешаны SSH и HTTPSДля URL типа git@host:... токен HTTPS вообще не используется.git remote -v показывает SSH-адрес, хотя обновляли PAT.Проверить применяемый протокол и ключи.

#Пошаговая диагностика и решение

  1. 1. Определите способ подключения без публикации секретовВ терминале нужного репозитория выполните git remote -v. Если адрес начинается с https://, речь может быть о токене и диспетчере учётных данных. Если используется git@хост, проверяйте SSH-ключи. Если в URL уже указан токен, считайте его скомпрометированным и отзовите у провайдера.
  2. Только чтение; не пересылайте вывод, если URL содержит логин или секрет
    Linux · Терминал (Bash)Команда
    Только чтение; не пересылайте вывод, если URL содержит логин или секрет.
    git remote -v
  1. 2. Уточните, какой менеджер используетсяВыполните git config --show-origin --get-all credential.helper. Команда покажет системные, глобальные и локальные помощники хранения, если они настроены. Не меняйте их все одновременно: это может нарушить вход в другие репозитории.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)Команда
    Чтение настроенных помощников; при пустом выводе у Git нет такой записи в прочитанных областях.
    git config --show-origin --get-all credential.helper
  1. 3. Проверьте права нового токена у провайдераОткройте сайт сервера Git в браузере и перейдите в настройки токенов своей учётной записи (названия различаются у GitHub/GitLab и самостоятельных серверов). Убедитесь, что токен действителен и у него есть право записи именно в требуемый репозиторий. Не добавляйте ему лишние полномочия.
  1. 4. Удалите только старую запись для нужного сервераВ Windows откройте «Панель управления → Учётные записи пользователей → Диспетчер учётных данных → Учётные данные Windows», найдите запись git/https нужного сервера, удалите только её после подтверждения. В macOS — «Связка ключей», найдите запись сервера. В Linux используйте настроенный менеджер секретов. Не чистите все пароли ОС.
  1. 5. Повторите безопасную операцию чтенияВыполните git fetch origin, чтобы спровоцировать обновлённую авторизацию. При запросе имени и секрета используйте рекомендованный провайдером способ: окно входа или токен вместо пароля, если это применимо. Вводимые данные не должны попасть в историю команд оболочки.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)Команда
    Обновляет удалённые ссылки; может инициировать запрос учётных данных, не отправляет коммиты.
    git fetch origin
  1. 6. Проверьте права отправки без обхода политики веткиПосле успешного чтения и при наличии разрешённой тестовой ветки отправьте её обычным git push. Если ошибка теперь говорит о protected branch, токен может работать, а запрет связан с правилами проекта. Не используйте чужую учётную запись и не повышайте права самостоятельно.
  1. 7. Закрепите результат и защитите секретВ хранилище учётных данных должен остаться только действующий способ входа для нужного сервера. Если старый токен был раскрыт в URL или журнале, немедленно отзовите его, смените секрет и проверьте доступы согласно процедуре безопасности.

#Проверка результата и действия при повторении

После удаления конкретной старой записи git fetch использует актуальную авторизацию, а разрешённый push проходит. Если отправка по-прежнему запрещена, сравните права репозитория и правила веток; не пытайтесь обходить их.

Если на указанном шаге результат отличается, остановитесь и запишите первое полное сообщение об ошибке, версию инструментов и проверенное состояние до исправления. Не переходите к опасным действиям на действующем проекте: повторите проверку на отдельной копии, верните сохранённые файлы и только затем выбирайте следующую причину.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.