Github 仓库操作— token使用,Action 操作权限
由于最近有在 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),创建传统访问令牌。

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

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

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 路径里,这样就不用每次都输入访问令牌的密码了。

2、给Github Action 相关权限
之前写过几期使用 Github Action 自动执行任务、部署的教程,比如定时部署到 Vercle、Netlify上,就是定时执行 hook 地址,就可以触发一次部署了,没有涉及到 action 修改代码提交的情况。
使用 Github Action自动执行 Netlify 部署
使用自定义 GitHub Actions CI/CD 部署到 Vercel
不过最近写了一个 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

给定权限之后,再进行执行 github action 编写的 workflow 就没有错误问题了。
继续阅读
基于全文检索与主题相似度
使用 Github Action自动执行Vercel 部署
之前本网站部署在 Netlify 上的,有过一篇文章**使用 Github Action自动执行 Netlify 部署****。 **以解决每周自动部署网站的功能,详细可点击查看。 最近想查看下国内访问网站的速度情况,所以使用 itdog ping 工具进行了测试,发现国内的情况十分不理想。 所以萌生了起换到 verc
使用自定义 GitHub Actions CI/CD 部署到 Vercel
除了上一篇介绍的 使用 Github Action自动执行Vercel 部署** **使用Deploy Hooks 的方式进行部署之外,还可以有更复杂的场景。 比如可以将 Vercel 与 GitHub Actions 一起使用作为您的 CI/CD 提供程序,在每次推送代码时生成预览部署,并在代码合并到main分支时部
git仓库同步两个远程仓库
假设有两个存储库 URL,并希望同步它们以便它们包含相同的内容。 必须在 Git 中配置一个指向上游仓库的远程仓库,以便将您在分支中所做的更改同步到原始仓库。这也允许您将原始仓库中的更改同步到分支中。 若需双向同步(配置远程仓库 origin、upstream),举例拉取 unpstream 最新代码,同步到 mast