我在Github Actions中有一个工作流,可以将各种文件添加到存储库中。这些命令在Linux虚拟机(azure)上运行。我想将某些文件提交到存储库,而不先下载和 checkout 整个存储库。存储库非常大,下载需要很长时间。工作流从要添加文件的存储库中执行。这可能吗
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调用。
gh api ...
${{ secrets.GITHUB_TOKEN }}
1条答案
按热度按时间w46czmvw1#
您可以使用Contents REST API直接在git repo中创建/覆盖文件。
这将允许您更改存储库内容,而无需克隆存储库。
您可以使用CURL(如上所示)或PowerShell或github cli(
gh api ...
)。您可以使用
${{ secrets.GITHUB_TOKEN }}
来授权REST调用。