Я создал локальный репозиторий на своем ноутбуке (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, поэтому буду благодарен за любые объяснения или советы по решению этой проблемы.
«Публичные репозитории (только для чтения)» означают, что вы разрешаете своему токену представлять вас для запросов, которые являются операциями только для чтения в общедоступном репозитории. Нажатие коммитов не является операцией только для чтения.
Вам нужно выбрать либо «все репозитории», либо «выбранные репозитории». Вам решать, к каким репозиториям вы хотите, чтобы этот конкретный токен имел доступ, но вам нужно выбрать любой из этих вариантов для операций записи.
В детализированном токене вам необходимо выбрать, для какой категории операций записи разрешено использовать этот токен. Я думаю, что вы хотите начать с того, чтобы установить для параметра «Содержимое» значение «чтение и запись». Но часто вы хотите предоставить своему клиенту Git более широкий доступ.
Поскольку вы новичок в этом деле, начните с самого ограничительного доступа, а затем осторожно предоставьте больше привилегий своим токенам по мере того, как вы узнаете больше об их использовании.