问题描述
我已经通过 Github V3 Rest API 成功实现了自动文件创建/更新,但唯一的缺点是我对每个文件都有一个提交。
有可能对多个 files 做同样的事情,但不幸的是它涉及一些我还没有掌握的概念,我需要一些时间才能到达那里,因为我有更紧急的事情要做待办事项清单。
与此同时,我完全可以接受或者简单地压缩最后 N 个提交,我认为这应该相对容易,因为在本地这只是一个问题
git reset --soft HEAD~N
git commit -m ".."
但我在文档或网上找不到任何内容
所以我的问题是:如何使用 Github API 以非交互方式压缩最后 N 次提交?
Ps:我不在乎是 v3 还是 v4,只要我完成了
解决方法
我没有直接通过 API 看到壁球功能。
您需要:
- create a branch 在 HEAD-N 提交,通过 create ref API
- reset your current branch to HEAD-N sha,强制布尔参数设置为 true?
- create a pull request 从您的新分支到旧的重置分支
-
merge the PR,将
merge_method
参数设置为 squash
相当复杂,但它应该可以工作(完全通过脚本,无需克隆存储库)。