【问题标题】:How to get GitHub REST API to restore a deleted branch如何获取 GitHub REST API 来恢复已删除的分支
【发布时间】:2022-11-17 09:03:30
【问题描述】:

我一直在寻找一种自动化任务的方法,一个需要自动化的手动部分是这个恢复分支按钮,有没有办法使用 Github API 来做到这一点?看了这两个文件,没找到,谢谢。

https://docs.github.com/en/rest/reference/pulls

https://docs.github.com/en/rest/reference/branches

【问题讨论】:

    标签: github-api


    【解决方案1】:

    遵循这里的建议:git can I view the reflog of a remote?

    我能够通过 GitHub CLI/API 恢复 PR 分支...

    获取要恢复的分支 HEAD 的 SHA:

    gh pr view {pr_number} --json commits

    “commits”数组中的最后一次提交将有一个“oid”值(我相信它代表孤儿 ID),并且可以用来创建恢复的分支

    gh api repos/{owner}/{repo}/git/refs -f ref=refs/heads/{new_branch_name} -f sha={oid}
    
    # set new_branch_name to the name of the PR branch to keep same behavior as button
    

    现在可以在存储库的克隆实例中获取分支:

    git fetch

    但也可以通过 API 获得,因为现在有一个新的远程分支

    对不起,如果你不能使用 gh。这对我有用,我不介意这种依赖。如果有人喜欢,他们可以想出一个完整的 REST API 唯一方法。

    【讨论】:

      猜你喜欢
      • 2018-11-27
      • 2017-12-18
      • 2016-02-12
      • 1970-01-01
      • 2011-07-29
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      • 2014-06-11
      相关资源
      最近更新 更多