使用GitHub API在一次提交中编辑多个文件

问题描述 投票:1回答:1

我正在C#Web应用程序(与Blazor)中使用GitHub API。我希望能够创建一个提交来添加,删除和编辑存储库中文件夹中的多个文件。我知道我可以使用这些内容将PUT请求发送到URL https://api.github.com/repos/[username]/[repository]/contents/[file]以创建文件(也可以通过添加SHA哈希来编辑文件):

{
    "message": "[Commit message]",
    "content": "[Content encoded in base64]",
    "committer": {
        "name": "[Committer name]",
        "email": "[Committer email]"
    }
}

但是这会为每个文件更改创建一个提交。有什么方法可以在一次提交中执行多种操作(使用GitHub API或其他方式)?我会使用libgit2sharp之类的东西,但我不想将存储库克隆到文件系统上的文件夹。

c# git github github-api git-commit
1个回答
0
投票

有什么方法可以在一次提交中执行多项操作(使用GitHub API还是其他方式?

有底层的Git Data API,可用于从头开始构建提交:

  • 使用API​​以blobs格式上传文件
  • trees用于指示存储库状态为什么(更新路径以指向新的Blob)
  • 然后使用新的根树和其他元数据创建新的commit
  • 如果可以,请更新reference(即分支)以指向此新的提交
© www.soinside.com 2019 - 2024. All rights reserved.