使用Soucetree提交代码到github无权限问题

使用 Sourcetree 将代码推送到 github 网站时,提示错误:

Pushing to https://github.com/uniapp10/snippet
remote: Invalid username or password.

因为Sourcetree只是可视化界面, 提交代码底层依然是 git 命令,使用git继续提交时,提示需要填写用户名和密码,输入登陆github网站的密码,仍然报错。

Username for 'https://github.com': uniapp10
Password for 'https://[email protected]': 
remote: Invalid username or password.

记得以前没有开通两步认证时,此方法是可行的。两步验证功能开通后,登录网站首先需要输入登录密码,然后还有 Authenticator中的防护密码。而git命令密码输入只有一步,除非找到让两个密码合并成一个的方式才可以顺利登录。

查找资料,发现输入的密码,需要在 github 网站个人设置页面生成。路径Settings/Developer settings/Personal access tokens,生成一串类似token 的字符串。使用git push origin继续提交,成功。

以上方式解决问题的前提是:使用https协议拉取的项目

git命令还支持ssh协议推拉项目,需要在本地生成配对的公私钥,然后将公钥添加到github网站的个人设置中,具体流程可参考connecting-to-github-with-ssh。

ssh简单的理解,就是将公钥发给服务器,以后通信时首先使用本地的私钥进行匹配验证,成功后就可以传输信息了。感兴趣可参考阮老师文章ssh_remote_login。

简单总结一下:Sourcetree 是对 git 命令的可视化显示。如果Sourcetree出现问题,首先在命令行使用git尝试,会得到更详细的错误提示,根据错误提示,再寻求解决办法。完~

喜欢和关注都是对我的鼓励和支持~

你可能感兴趣的:(使用Soucetree提交代码到github无权限问题)