Github login
约 1108 字大约 4 分钟
Github
2025-01-13
介绍
GitHub于 2021年8月13日起不再支持密码验证登录。
可以选择如下两种方式登录:
Token登录SSH免密登录
GitHub提供了HTTPS、SSH、GitHub CLI的方式来拉取或提交代码。
HTTPS的远程地址如:https://github.com/[USER]/[REPO]SSH的远程地址如:git@github.com:[USER]/[REPO]
Token 登录
使用Github的Token登录,需要先申请Token,然后在需要登录的地方使用Token登录。
添加GitHub Access Token
现在有两种生产token的方式:
- 一种是
Fine-grained tokens,这种还处于预览阶段。 - 一种是
Tokens(classic)。
Fine-grained tokens
- 登录
github账号。 - 点击进入账号的
Setting。 - 点击
Developer settings。 - 下拉
Personal access tokens选择Fine-grained tokens。 - 点击
Generage new token。 - 随便填写一个
token名称。 - 选择过期时间,也可以选择永久。
- 可以添加备注。
- 选择权限,根据需求选择权限,这里可以设置为某一个项目,然后再选择权限。
- 点击生成
token就行了。
注意需要保存好生成的token,刷新页面就没了。
Tokens(classic)
- 登录
github账号。 - 点击进入账号的
Setting。 - 点击
Developer settings。 - 下拉
Personal access tokens选择Tokens(classic)。 - 下拉
Generage new token选择Generage new token(classic)。 - 随便填写一个
token名称。 - 选择过期时间,也可以选择永久。
- 选择权限,根据需求选择权限。
- 点击生成
token就行了。
注意需要保存好生成的token,刷新页面就没了。
具体可参考Github Tokens
使用Token登录
生成的token就相当于密码,后续需要密码的时候用token替换。
直接输入TOKEN登录
在进行git push命令行提交的时候,会让你输入Username和Password
$ git push
Username for 'https://github.com': username
Password for 'https://username@github.com': 你的token直接把token当做Password输入。
在URI中配置TOKEN登录
我们知道URI的完整格式为:[scheme]://[user]:[passwd]@[host]:[port][path][?query][#fragment]所以我们可以直接在关联的远程地址中配置上token就能直接完成提交了。
- 直接修改
.git/config文件
.git/config是隐藏文件。需要显示出来,mac 快捷键是control + cmd + .
vim修改.git/config文件:remote 中的 url 为:
url = https://[TOKEN]@github.com/[USER]/[REPO]TOKEN是上面申请的token。USER是用户名。REPO是仓库名。
注意:不建议在.git/config文件中的url中添加TOKEN等方式登录,.git文件夹是会提交到远程的,公开的项目会泄露token。
- 通过命令更新
修改远程地址的方法除了直接修改.git/config文件,还可以通过命令行的方式修改。
$ git remote set-url origin https://[TOKEN]@github.com/[USER]/[REPO]也可以删除现在的远程分支,然后创建新的远程分支。
$ git remote remove origin
$ git remote add origin https://[TOKEN]@github.com/[USER]/[REPO]注意:不建议使用在关联的远程地址中配置token的方式完成登录,公开的项目同样会泄露token。
延伸
Token不只在登录Github时可以使用,更多的使用场景是配置在Github Secrets中,然后配合GitHub Actions来获取Github的某些权限,已完成对应的Actions,如:自动发布GitHub Pages页面等。
注意 默认情况下,GitHub Pages 站点在互联网上是公开可用的,即使站点的存储库是私有的或内部的。如果您的项目网站是从使用 GitHub 企业云的组织拥有的私有或内部存储库发布的,则可以管理该网站的访问控制,在具有托管用户的企业中,所有 GitHub Pages 网站都是私下发布的。否则可能需要在发布之前删除存储库中有敏感数据。
SSH 免密登录
除了上面说的使用Token登录,更推荐的方式是SSH免密登录。
Windows免密登录Github
Windows的免密登录Github和Linux中的免密登录方法差不多,具体可以查看Windows通过密钥访问github。
