Попытка отправки в удаленный репозиторий, разрешение отклонено и получена ошибка 403

Я создал локальный репозиторий на своем ноутбуке (MacOS) и запустил проект. Поработав над ним некоторое время, я захотел синхронизировать его с пустым удаленным репозиторием, который я создал на GitHub. Я попытался связать репозитории с помощью токенов доступа HTTPS и GitHub. Сначала я добавил и настроил пульт в Shell следующим образом:

$ git remote add origin https://github.com/[username]/[github-repository-name].git

Затем я сгенерировал токен доступа и ввел его в такую ​​команду:

$ git remote set-url origin https://[github-token]@github.com/[username]/[github-repository-name].git

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

remote: Permission to [username]/[github-repository-name].git denied to [username]

fatal: unable to access 'https://github.com/[username]/[github-repository-name].git/': The requested URL returned error: 403

Я проверил, что мой удаленный репозиторий имеет общедоступный доступ, попытался создать еще один токен детального доступа и обязательно нажал «Публичные репозитории (только для чтения)» в разделе «Доступ к репозиторию» и повторил шаги, которые я сделал в начале, и дважды проверил. что удаленный URL-адрес правильный. Однако я снова получил тот же результат.

Я попробовал поискать в Google свою проблему, но через некоторое время я все еще застрял. Я знаю, что вместо этого могу попробовать использовать SSH, но я хочу выяснить, что пошло не так, чтобы знать, как избежать этого в будущем. Я новичок в использовании GitHub, поэтому буду благодарен за любые объяснения или советы по решению этой проблемы.


61
1

Ответ:

Решено

«Публичные репозитории (только для чтения)» означают, что вы разрешаете своему токену представлять вас для запросов, которые являются операциями только для чтения в общедоступном репозитории. Нажатие коммитов не является операцией только для чтения.

Вам нужно выбрать либо «все репозитории», либо «выбранные репозитории». Вам решать, к каким репозиториям вы хотите, чтобы этот конкретный токен имел доступ, но вам нужно выбрать любой из этих вариантов для операций записи.

В детализированном токене вам необходимо выбрать, для какой категории операций записи разрешено использовать этот токен. Я думаю, что вы хотите начать с того, чтобы установить для параметра «Содержимое» значение «чтение и запись». Но часто вы хотите предоставить своему клиенту Git более широкий доступ.

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