1.问题描述:
对新建的项目使用git push
之后出现错误:
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.
原因分析:2021.8.13之后,github不能再使用用户名密码的方式进行认证了,需要使用
私有token来访问
2.解决方式
如果使用HTTPS的方式进行连接的话,有两个方式:gitlab cli
和Git Credential Manager
,
如果是使用SSH的话,也可以用gitlab cli
,另一种方式是创建SSH密钥,下面将会一一介绍
2.1使用git cli来进行登陆
打开控制台,按以下步骤输入命令:
step1: - brew install gh
如果安装过程中遇到错误touch: /usr/local/Homebrew/.git/FETCH_HEAD: Permission denied
可以按照这篇文章去解决
step2: - gh auth login
step3:接下来会出现一些配置选项,可以按住上下键去选择,选择之后按回车,类似于:
对于个人的账号可以用如下的选择:
配置选项有:账号类型选择,个人的账号选择github.com
HTTPS和SSH按需要选择
认证方式选择Login with a web browser
按完回车之后会出现一个code,按回车之后会浏览器会打开一个页面进行登陆
在浏览器页面需要输入这个code,然后输入github的密码就授权成功了,再看控制台会输出以下的信息
2.2使用Git Credential Manager来登陆
打开控制台输入以下的命令:
step1: - brew install gh
step2:brew tap microsoft/git
step3:brew install --cask git-credential-manager-core
下次你用https的方式clone代码的时候,Git会让你用一个浏览器窗口进行登陆,不过需要配置一个authenticate的app,用app中的6位临时通行码进行登陆。
2.3 配置SSH密钥
打开控制台输入以下的命令:
step1:先用命令ls -al ~/.ssh
检查一下电脑中是否存在SSH密钥,如果存在会打印出对应信息,如果没有就没有信息打印
step2:如果存在就按照这个文章去新建SSH密钥
如果一台电脑要同时用两个不同的github账号,可以一个经常用的账号用SSH密钥的方式,另一个不经常用的账号使用2.1,2.2这种浏览器登陆的方式。
如果两个账号都经常使用,可以参考这篇文章同时为两个账号配置SSH密钥。