GithubActions提交而不执行pull/checkout

wooyq4lh  于 2023-04-19  发布在  Git
关注(0)|答案(1)|浏览(106)

我在Github Actions中有一个工作流,可以将各种文件添加到存储库中。这些命令在Linux虚拟机(azure)上运行。
我想将某些文件提交到存储库,而不先下载和 checkout 整个存储库。存储库非常大,下载需要很长时间。工作流从要添加文件的存储库中执行。
这可能吗

w46czmvw

w46czmvw1#

您可以使用Contents REST API直接在git repo中创建/覆盖文件。

curl -L \
  -X PUT \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>"\
  -H "X-GitHub-Api-Version: 2022-11-28" \
  https://api.github.com/repos/OWNER/REPO/contents/PATH \
  -d '{"message":"my commit message","committer":{"name":"Monalisa Octocat","email":"octocat@github.com"},"content":"bXkgbmV3IGZpbGUgY29udGVudHM="}'
Response

这将允许您更改存储库内容,而无需克隆存储库。
您可以使用CURL(如上所示)或PowerShell或github cli(gh api ...)。
您可以使用${{ secrets.GITHUB_TOKEN }}来授权REST调用。

相关问题