Github 仓库操作— token使用,Action 操作权限

GitHub37 次阅读7 分钟

由于最近有在 mac 上操作多个 Github 账号代码库的情况。

记得之前操作的方式,是配置 ssh key等操作权限,需要在 mac 隐藏目录.ssh下面的known_hosts文件进行编辑,将相应 key 填写进去。

或者使用用户名密码操作的方式,不过随着 GitHub 对用户安全要求的提升,GitHub 已经停止了对基于用户名和密码的访问认证,改为使用 Personal Access Token(个人访问令牌) 来进行身份认证。

1、使用 **Personal Access Token(个人访问令牌)**操作不同账号的代码库

又比如在使用GitHub的时候, 提交命令 git push 时,可能会遇到以下错误提示:

$ git push
Usernamefor 'https://github.com': Username
Passwordfor 'https://Username@github.com':
remote: Invalid username or password.
fatal: Authentication failedfor 'https://github.com/username/repository.git/'

解决办法就是使用最新的 **Personal Access Token (PAT) **的方式操作代码仓库。

1.1 创建 **Personal Access Token **

登录 GitHub 账号,进入设置中心,左侧菜单底部进入到开发者设置( Developer settings),进到页面里如图创建点击 Tokens (classic),创建传统访问令牌。

image.png

创建令牌 Token的页面,输入 name、选择过期时间、仓库权限等等,填好之后最下面点击Generate token(生成令牌) 按钮,生成新的访问令牌。

image.png

注意:令牌生成后只会显示一次,请立即复制并妥善保存。此令牌将用于后续的 Git 操作。

image.png

1.2 使用令牌进行 Git 操作

当你下次运行 git push 或其他需要身份认证的 Git 操作时,使用生成的访问令牌作为密码即可。示例操作:

$ git push
Usernamefor 'https://github.com': your_username
Passwordfor 'https://github.com': <生成的Personal Access Token>

或者更简单的,将 token 填入到远程仓库 url 路径里**【不要忘记@符号】**,比如操作:

拉取github仓库:
git clone https://[token]@github.com/username/xxx.git

添加远程仓库:
git remote add origin https://[token]@github.com/username/xxx.git

如果是配合 sourcetree 进行操作,可以在仓库设置里,远程仓库进行编辑,添加 **[token] @ **到远程仓库URL 路径里,这样就不用每次都输入访问令牌的密码了。

image.png

2、给Github Action 相关权限

之前写过几期使用 Github Action 自动执行任务、部署的教程,比如定时部署到 Vercle、Netlify上,就是定时执行 hook 地址,就可以触发一次部署了,没有涉及到 action 修改代码提交的情况。

使用 Github Action自动执行 Netlify 部署

使用 Github Action自动执行Vercel 部署

使用自定义 GitHub Actions CI/CD 部署到 Vercel

GitHub Actions:带有输入的调度和计划工作流程

不过最近写了一个 bing 壁纸预览和下载 的学习网站,有每天定时获取最新 bing wallpaper 数据,提交到代码仓库中,然后再进行部署。

在调试的过程中,开始失败就是忘记了设置代码库的 github action 权限,这里记录一下。

错误日志:
ERROR - Write access to repository not granted

remote: Write access to repository not granted.
fatal: unable to access 'https://github.com/xxx/xxx/': The requested URL returned error: 403
Error: Process completed with exit code 128.

设置路径在:你的代码仓库 → Settings -> Actions -> General

image.png

给定权限之后,再进行执行 github action 编写的 workflow 就没有错误问题了。

继续阅读

基于全文检索与主题相似度