前言
目前GitHub抛弃了传统的用户名+密码的鉴权方式,而是改为了SSH Key认证。但网上介绍的方法在macOS下可能出现无限弹密码认证框的情况,这里为大家介绍一下HTTPS+Token的第三方客户端登录方式。
软件环境
macOS Monterey 12.2.1 (21D62) Apple Silicon(M1)
Sourcetree 4.1.6
Git 2.31.0
清除无用的OAuth凭据
在某些情况下,读到本文的人很可能已经失败地尝试过进行github账号的关联了。所以首先要检查无用的OAuth凭据是否存在,如果有的话则进行删除。
按Command+Q彻底关闭sourcetree,并在终端下执行命令:
rm -rf ~/Library/Application\ Support/SourceTree/*github.com*
修改全局.gitconfig
在终端下输入如下命令,使用vi编辑git的全局配置文件,按i进入编辑模式。
vi ~/.gitconfig
修改或追加如下配置:
[credential]
helper = osxkeychain
[user]
name = 你的git提交名
email = 你的邮箱
[http]
proxy = 127.0.0.1:7890
请注意:在当前的网络环境下,设置http proxy后再进行github的访问更加快速可靠。如果没有可用的proxy,请删除[http]块。修改完毕后按esc再输入:wq回车进行保存。
申请GitHub Personal Access Tokens
登录GitHub,点击右上角的头像进入Settings,在左侧最底部可以找到Developer Settings选项。点击进入后选择Personal access tokens模块,点击Generate New Token。名字随便填英文,过期选项选择No expiration,底下权限根据自己的需要勾选,不懂就全勾上。
选择完毕后点击Generate Token,会看到一串生成的Token。将它妥善保管,复制好留作下一步操作使用。
在Sourcetree中进行账号关联
注意!如果你的网络无法稳定连接到Github,则请先配置好HTTP Proxy!
打开Sourcetree,点击右上角三个点按钮,选择账户,然后点击添加,进入如下界面。托管主机选择Github,授权类型选基础,用户名写你的Github用户名,也就是网页上右上角的Signed as XXX,而非邮箱。密码则填入上一步获取到的Token,协议选HTTPS,保存即可。Congratulations!