Филиал по-прежнему продолжает работать со старого аккаунта

Вопросы и ответы

Мне нужно было переключить учетные записи GitHub, чтобы отправить что-то в корпоративный репозиторий. Я попробовал изменить свое имя пользователя на новое, но меня постоянно отклоняют.

    remote: Permission to Company/project.git denied to oldUserName.
    fatal: unable to access 'https://company.com/Company/project.git/': The requested URL returned error: 403

Вот все шаги по устранению неполадок, которые я предпринял:

  1. gh auth logout/gh auth login. Когда я проверяю статус, кажется, что я вошел в правильный аккаунт, но все равно не могу отправить изменения из него.
  2. git config –global user.email “[email protected]
  3. Настройка SSH-ключа для моего нового имени пользователя
  4. git remote set-url https://github.com/userUserName/project. URL был получен из git remote -v, и была получена следующая ошибка:
usage: git remote set-url [--push] <name> <newurl> [<oldurl>]
   or: git remote set-url --add <name> <newurl>
   or: git remote set-url --delete <name> <url>

    --[no-]push           манипуляция с URL-адресами для отправки
    --[no-]add            добавление URL
    --[no-]delete         удаление URL
    enter code here

Я прочитал много вопросов на Stack Overflow и учебников по GitHub, но они все, похоже, не сработали. Я буду очень признателен за любой совет или помощь.

Ответ

Чтобы решить проблему с ошибкой "Permission denied" при попытке выполнить git push из-за использования старого аккаунта, следует выполнить несколько шагов. Вот полное руководство:

  1. Проверьте настройки Git: Убедитесь, что локальная конфигурация Git настроена на новый аккаунт. Выполните следующие команды в терминале:

    git config --global user.name "Ваше Новое Имя Пользователя"
    git config --global user.email "ваш_новый_email@example.com"
  2. Проверьте кэши учетных данных: Возможно, Git кэширует учетные данные старого пользователя. Для удаления кэша используйте команды:

    Для Windows:

    git credential-manager uninstall

    Для macOS:

    git credential reject

    Для Linux, попробуйте удалить файлы в .git-credentials или ~/.gitconfig.

  3. Проверьте удаленный URL: Убедитесь, что URL репозитория настроен правильно. Используйте команду:

    git remote -v

    Для изменения URL на новый, выполните:

    git remote set-url origin https://github.com/новыйПользователь/проект.git

    Обратите внимание на то, что ключевое слово origin может отличаться, если вы используете другое имя для удаленного репозитория.

  4. Использование SSH вместо HTTPS: Если вы настроили SSH-ключ для вашего нового аккаунта, то используйте SSH URL вместо HTTPS. Обычно он выглядит так:

    git remote set-url origin git@github.com:новыйПользователь/проект.git
  5. Проверка SSH подключения: Убедитесь, что SSH ключ корректно настроен. Введите команду:

    ssh -T git@github.com

    Если все настроено правильно, вы должны увидеть сообщение с вашим именем пользователя.

  6. Логин через GitHub CLI: Если вы используете GitHub CLI, убедитесь, что вы правильно вошли в свою учетную запись:

    gh auth login

    Следуйте инструкциям и выберите "GitHub.com", затем выберите метод аутентификации (например, с помощью браузера или SSH).

  7. Темпоральное решение с форком: Если ничего не помогает, и вы не можете получить доступ к оригинальному репозиторию, вы можете создать форк этого репозитория на вашем новом аккаунте, склонировать его и работать с новым форком.

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

После выполнения всех шагов попробуйте заново выполнить git push и эта проблема должна быть решена. Если возникнут дополнительные вопросы, не стесняйтесь их задавать!

Оцените материал
Добавить комментарий

Капча загружается...