如何从Github中删除所有陈旧的分支?

时间:2016-08-21 14:56:32

标签: git github github-api

我们有很多不活跃的分支机构(最新的是7个月,最早的是两年前)。
如果没有为他们打开PR,我想从遥控器中批量删除所有这些分支。

我应该使用Github的API吗?我应该使用git,如this StackOverflow question中提供的那些片段吗? 是否有一些我不熟悉的Github功能可以帮助组织我们的存储库?

2 个答案:

答案 0 :(得分:7)

你当然可以使用GitHub API来实现这一点,但是你需要做一些小事。

首先,使用list pull requests API获取打开拉取请求列表。此列表中的每个项目都包含一个["head"]["ref"]条目,该条目将是分支的名称。

现在,使用get all references API列出存储库中的所有引用。请注意,Git Data API中分支的语法与拉取请求API返回的语法略有不同(例如refs/heads/topictopic),因此您必须对此进行补偿。除非您只搜索文档中提到的refs/heads/子命名空间,否则引用API也会返回标记,因此请注意这一点。

一旦你有了这两个分支引用列表,就可以很容易地确定哪些分支没有开放拉取请求(不要忘记考虑master或你希望保留的任何其他分支!)。

此时,您可以使用delete reference API从存储库中删除这些分支引用。

答案 1 :(得分:-5)

您可以在合并或结束拉取请求后删除分支。它也可以从GITHub的分支页面中删除。

PLS。在此处查找详细信息:https://help.github.com/articles/deleting-unused-branches/