技术笔记(6)SourceTree Push到github时报错

技术笔记(6)SourceTree Push到github时报错

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

即无法通过输入账号密码的方式来验证,需要使用个人token来验证。昨晚搜到了很多无效方法,搞得有点头痛了,记录一些有效的方法。

解决方法一(Token)

  • 在github官网点击个人头像,

  • 选择Settings,

  • 左侧底部选择Developer settings,

  • 选择Personnal acess tokens,

  • 此处我们有两种选择,一是Fine-grained tokens,二是Tokens(classic)。简单理解的话第一个就是升级版的更安全的token令牌,按GitHub文档中的说法,Fine-grained tokens有以下几个安全优势:

    • 每个令牌只能访问单个用户或组织拥有的资源。
    • 每个令牌只能访问特定的存储库。
    • 每个令牌都被授予特定的权限,这些权限比授予 personal access tokens (classic) 的范围提供更多的控制。
    • 每个令牌都必须具有到期日期。
    • 组织所有者可要求必须获取对可访问组织中资源的任何 fine-grained personal access token 的批准。
  • 那我们直觉肯定就是升级版更好嘛,但也要注意,有些功能仅适用于classic版本的token:

    • 只有 personal access tokens (classic) 对不由你或你所属的组织拥有的公共存储库具有写入访问权限。
    • 外部协作者只能使用 personal access tokens (classic) 访问他们参与协作处理的组织存储库。
    • 少数 REST API 终结点仅支持 personal access tokens (classic)。
  • 点击右侧的Generate new token按钮

  • 如果我们只是初学想练练手,没那么多安全需求,什么Fine-grained细粒度,repo-scoped存储库范围这些概念看得头昏眼花的话,可以选择简单的Generate new Tokens(classic)。

  • Note填些提示信息,比如TestToken、MyToken

  • 在Expiration使用期限中可以选择这个Token能用多久,最后一个No expiration是无限期。

  • 下面的Select scopes则是为当前Token分配一些想要的额外权限,初学可以不必理会

  • 直接到最底下点Generate token

  • 注意Make sure to copy your personal access token now. You won’t be able to see it again!,意思这个Token只给你看这一次,以后就看不到了,所以可以自己保存记录一下,不过也无所谓,反正可以随时删掉生成一个新的。

  • 这时候回到图形化界面,以SourceTree举例,点设置,远程仓库,添加远程仓库路径。在自己的远程仓库地址url中加入Token秘钥@ ,比如:

  • 或是在命令行界面输入:

    git remote add origin https://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@ github.com/bqza000/ProjectTest.git

  • 网络正常的情况下,便可以正常提交和拉取了

解决方法二(SSH)

  • 在github官网点击个人头像,

  • 选择Settings,

  • 左侧中部选择SSH and GPG keys,先留着这个页面,待会要用

  • 在命令行git bash中输入 ssh-keygen -t rsa -C "注册git用的邮箱",连续敲三下回车,一是确认在默认文件夹中生成,二是设置密码,三是确认密码。用以生成自己的SSH公钥

  • 而后去C:\Users\用户名\.ssh文件找刚刚生成的SSH公钥,用记事本Noped打开

  • 复制里面一大串的内容到刚刚github打开的页面里面,粘贴到key框里,并点击Add SSH key

  • 这时候回到SourceTree里点击工具、选项

  • 在SSH客户端配置下拉菜单里选择OpenSSH,它会自动识别默认公钥位置,点击确认

  • 网络正常的情况下,便可以正常提交和拉取了

remote: unable to access 'https://github.com/bqza000/ProjectTest.git/': Failed to connect to github.com port 443 after 21013 ms: Couldn't connect to server

如果上面的报错解决之后,紧接着出现了这个报错。这个是单纯网络问题,连不上github的服务器。建议方法,科学地上网。或者某些加速器也可以加速github网站。

posted @   静候霜白  阅读(203)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示