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



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

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

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

是否有任何方法可以在一次提交中执行多个操作(使用GitHub API或其他方法(?

有一个底层的Git Data API可以用来从头开始构建提交:

  • 文件使用API作为Blob上传
  • 树用于指示存储库的状态(更新指向新Blob的路径(
  • 然后使用新的根树和其他元数据创建一个新的提交
  • 如果可以,则更新引用(即分支(以指向此新提交

您可以使用GitHub API的Git流:

  1. 通过创建ref(例如refs/heads/myNewBranch(创建一个新分支,使用您想要的任何基本分支的SHA
  2. 在该分支中进行内容更改(创建/更新或删除文件(。请确保将branch参数设置为新的分支名称
  3. 使用您的新分支作为头创建一个pull请求
  4. 将拉请求与Merge_method"合并;南瓜";。这将压缩来自单个内容更改API调用的所有提交,并使用您选择的提交消息进行1次提交

相关内容

  • 没有找到相关文章

最新更新