我在一个C#web应用中使用GitHub API(Blazor),我希望能够创建一个提交来添加、删除和编辑存储库中一个文件夹中的多个文件。我知道我可以向URL https://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的方法,但我不想将仓库克隆到文件系统上的一个文件夹中。
2条答案
按热度按时间mbjcgjjk1#
有没有什么方法可以让我在一次提交中执行多个操作(使用GitHub API或其他方法)?
有一个底层的Git Data API可以用来从头构建一个提交:
taor4pac2#
您可以使用Git Flow和GitHub API:
1.通过创建一个ref(例如
refs/heads/myNewBranch
)来创建一个新分支,使用您想要的任何基础分支的SHA。1.在该分支中进行内容更改(创建/更新或删除文件)。确保将
branch
参数设置为新的分支名称。1.使用新分支作为头创建拉取请求。
1.使用merge_method的“squash”合并拉取请求,这会将来自各个内容更改API调用的所有提交压缩为一个提交,并使用您选择的提交消息。