https访问github仓库失败问题解决

问题描述

使用https协议推送本地的git仓库代码到github时出现如下错误:

$ git push -u origin main
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/lxyjrx/freertos_stm32_sample.git/'

提示认证失败,意思大概是原来的密码认证方式已经被淘汰,需要使用个人访问令牌来访问。

解决办法

在github上面创建个人访问令牌(token),然后使用这个令牌来访问github仓库,方法步骤如下:

1、登录github,点击设置,如下图示:
1234

2、点击开发者设置
1

3、点击个人访问令牌,然后选择创建令牌,
2

4、设置令牌的有效期和权限,
3

5、生成令牌,记住令牌

因为该网页一刷新,令牌就看不到了,所以要记住这个令牌。
4

6、使用令牌登录github,提交本地代码

我们可以通过每次输入github用户名和令牌来访问github仓库;也可以输入以下命令来避免每次都要输入用户名和令牌:

git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
<your_token>:是指你的令牌
<USERNAME>:是指github的用户名
<REPO>:是指仓库的名称

示例如下:

guest1@DESKTOP-zzc MINGW64 /e/mdk_arm/my_prj/sample2_project (main)
$ git remote set-url origin https://ghp_CtaMTCDKt4t6a3tZy1234FiXB8567t0YrMUH@github.com/lxyjrx/freertos_stm32_sample.git

guest1@DESKTOP-zzc MINGW64 /e/mdk_arm/my_prj/sample2_project (main)
$ git push -u origin main
Enumerating objects: 152, done.
Counting objects: 100% (152/152), done.
Delta compression using up to 12 threads
Compressing objects: 100% (149/149), done.
Writing objects: 100% (152/152), 19.87 MiB | 74.00 KiB/s, done.
Total 152 (delta 32), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (32/32), done.
To https://github.com/lxyjrx/freertos_stm32_sample.git
 * [new branch]      main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.

总结

很久没有用http登录github了,突然遇到这个问题,记录以下解决的办法,也供大家参考;
方法还是有很多的,需要大家慢慢去探索。

posted @ 2022-05-06 18:59  李星云姬如雪  阅读(241)  评论(0编辑  收藏  举报