Как добавить токен личного доступа github в код Visual Studio
Я получил электронное письмо о том, что Github потребует аутентификацию токена после 13 августа 2021 года. Я хочу убедиться, что у меня не будет прерывания обслуживания (push / pull) после этой даты. Итак, я вошел в Github и создал токен для своего единственного репо.
Теперь я хочу использовать токен для отправки / извлечения моего репо из Github в Visual Studio Code, который использует git и командную строку, которую я установил на моем Mac.
ВОПРОС - Что мне делать, чтобы добавить / заменить пароль из Github сгенерированным токеном, который я только что создал для отправки / извлечения из моего репо? Могу ли я сделать это из Visual Studio Code или добавляется из командной строки терминала?
11 ответов
Выполните следующие простые шаги, чтобы настроить аутентификацию Github с помощью токена личного доступа.
Откройте командную строку на вашем ПК или Терминал на Mac
Установите текущий каталог в корень вашего проекта
> cd C:\Users\Giddy\source\repo\MySampleProject
Запустите команду, чтобы установить удаленный доступ через токен
> git remote set-url origin https://username:token@github.com/username/repository.git
Пример:
> git remote set-url origin https://sampleuser:a7b19929***58fe65d1c@github.com/sampleuser/sampleproject.git
Протестировано на VSCode (Mac)
нет необходимости в дополнительном расширении, я доверяю только официальным расширениям, извините, расширение GitHub от KnisterPeter
- Создайте токен персонального доступа с github.com
- Обязательно сохраните токен доступа (например, ghp_pVC*****)
- В терминале VSCode
- Теперь ты можешь попробовать
git push
ЗАМЕТКА:
при создании токена личного доступа убедитесь, что рабочий процесс включен
НАМЕКАТЬ
вы можете ввести, чтобы увидеть свое происхождение или апстрим.
origin https://github.com/<username>/<repo_name>.git (fetch)
origin https://github.com/<username>/<repo_name>.git (push)
upstream https://github.com/<username>/<repo_name>.git (fetch)
upstream https://github.com/<username>/<repo_name>.git (push)
также после установки
git remote set-url origin https://<personal_access_token>@github.com/<your_username>/<repo_name>.git
ваш
git remote -v
должно быть что-то вроде
origin https://<your_personal_access_token>@github.com/<username>/<repo_name>.git (fetch)
origin https://<your_personal_access_token>@github.com/<username>/<repo_name>.git (push)
Если вы получили такое сообщение:
Чтобы включить поддержку Visual Studio Code GitHub, установите токен личного доступа
Перейдите в «Настройки»> «Настройки разработчика»> « Персональный токен доступа».
или перейдите прямо на https://github.com/settings/tokens
Нажмите « Создать новый токен».
Вернитесь в VS Code и откройте палитру команд (Ctrl+ Shift+ P)
Введите в Github: Set Personal Access Token.
Вставьте значение из вашего вновь созданного токена
скопируйте следующую строку и вставьте ее в свой терминал кода vs
git remote set-url origin https://<TOKEN>@github.com/<USERNAME>/<REPOSITORYNAME>.git
замените TOKEN своим токеном USERNAME на имя пользователя и REPOSITORYNAME на ваш репозиторий, это должно сработать, ваша последняя строка должна выглядеть примерно так
git remote set-url origin https://asdlkuresdflj23433423lj234@github.com/brother/sampleapp.git
- В VSCode попробуйте нажать или вытащить из удаленного репо
- Нажмите сообщение «Вход в GitHub» внизу VSCode.
- Нажмите "Разрешить" в приглашении.
- Введите токен в подсказке, которая появляется в верхней части VSCode.
Чтобы увидеть вывод, связанный с аутентификацией GitHub:
- Открыть терминал в VSCode
- Нажмите "Вывод" в верхней части панели терминала.
- В раскрывающемся меню выберите "Проверка подлинности GitHub".
На момент написания я использую VSCode v1.56.0
Если вы используете URL-адреса HTTPS для своих удаленных репозиториев, это означает, что вы можете кэшировать свои учетные данные: сегодня это будут имя и пароль вашей учетной записи GitHub, tomrrow, пароль будет вашим токеном.
Проверьте свои
git config credential.helper
результат.
Если это менеджер или менеджер-ядро, введите:
printf "protocol=https\nhost=github.com\nusername=<yourGitHubAccountName>"|git credential-manager-core erase
Потом:
printf "protocol=https\nhost=github.com\nusername=<yourGitHubAccountName>\npassword=<newToken>"|git credential-manager-core store
(заменять
credential-manager-core
к
credential-manager
если помощник по учетным данным
manager
вместо
manager-core
)
VSCode будет использовать этот помощник по учетным данным с новым «паролем» (токеном), сохраненным для удаленного сайта.
Если вам не предлагается ввести имя пользователя и пароль, ваши учетные данные могут быть кэшированы на вашем компьютере. Вы можете обновить свои учетные данные в Связке ключей, чтобы заменить старый пароль токеном.
Я проходил аутентификацию по паролю на github и получил сообщение VSCode «вы больше не можете использовать аутентификацию по паролю для Github».
Я был на Mac, поэтому у меня был стандартный Git (v2.21).
Попробовали эти шаги и теперь можете проверить код через VSCode без ошибок (обратите внимание, что этот подход использует Microsoft Git Credential Manager Core - см. ):
- Обновите Git с помощью homebrew
brew install git
. Он создаст новую симобную ссылку в вашей системе на git, указывающую на / usr / local / bin / git, поэтому стандартный git Mac не будет использоваться - Настройте токен персонального доступа с инструкциями на Github
- Зайдите в связку ключей Mac и удалите
vscode.github.com
учетные данные пароля - Установите Microsoft Git Credential Manager Core (GCMC) - Здесьинструкции на Github
- Закройте и перезапустите VSCode, нажмите еще раз. Вам будет предложено авторизовать GCMC в браузере. Как только вы это сделаете. Отправка из VSCode должна работать автоматически, поскольку GCMC будет обрабатывать авторизацию Git в будущем.
Мне помогло следующее (я пользователь Ubuntu 22.04):git config --local -e Отредактируйте свои данные ==>:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://YourGitlabName:YourToken@gitlab.com/YorRepo
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main
[user]
name = YourGitlabName
email = YourGitlabE-mail
У меня была такая же проблема, и я наконец получил приглашение «Вход в GitHub» для успешного прохождения аутентификации. В основном, что вам нужно сделать после получения страницы подтверждения ниже (после того, как вы нажмете «Авторизовать код Visual Studio» в окне браузера):
Успех!
Авторизация прошла успешно. Вы будете перенаправлены обратно в Visual Studio Code.
Не сработало? Если вы не перенаправлены, вы можете добавить токен вручную.
**Your authorization token:**
vscode://vscode.github-authentication/did-authenticate?windowid=1&code=[Not-A+Real+Token)SJ###AASDf
......... так далее
Переключитесь обратно на VS Code (вероятно, уже автоматически попал в фокус) и выберите «Не запрашивать снова» или другое сообщение… ТОГДА вы наконец можете увидеть и щелкнуть подсказку «Вход в GitHub ...»
Надеюсь, это кому-то поможет ... потому что, как бы просто это ни звучало, VS Code не будет запрашивать ни при закрытии приглашения, ни при выборе параметра «Показать журнал Git».
Я обнаружил, что смог решить эту проблему, выйдя из GitHub, а затем войдя снова. Я получал сообщение об ошибке «Нет удаленного репозитория» в Visual Studio 2017 в Windows 10, когда на GitHub явно был репозиторий. На том же ПК я использую GitHub Desktop для проектов Python в Spyder, в той же учетной записи GitHub, и у меня не было ошибок доступа, и я не использовал токены личного доступа, что указывало на проблему с Visual Studio Connection.