2016-08-21 7 views
2

私たちは、非アクティブなブランチをたくさん持っています(最新のものは7ヶ月、最も古いものは2年前です)。
まだPRがまだ開いていない場合は、それらのブランチのすべてをリモートから削除したいと思います。Githubから失効したブランチをすべて削除するにはどうすればよいですか?

GithubのAPIを使用する必要がありますか? this StackOverflow questionで提供されているようなスニペットを使用してgitを使用する必要がありますか?
リポジトリを整理するのに役立つGidubの機能がありますか?

+1

Githubにこの機能を追加したいと思います。 100以上のブランチでレポをフォークすると、ちょうど混乱します。 – Kangur

答えて

2

これはGitHub APIを使用して確かに達成できますが、それを行うにはちょっとした手間が必要です。

最初に、list pull requests APIを使用してオープンプル要求のリストを取得します。このリストの各項目には、ブランチの名前になる["head"]["ref"]エントリが含まれています。

ここで、get all references APIを使用して、リポジトリ内のすべての参照を一覧表示します。 GitデータAPIのブランチの構文は、プルリクエストAPIから返されたものと少し異なります(たとえばrefs/heads/topictopic)ので、これを補う必要があります。また、参照APIは、文書に記載されているようにrefs/heads/サブ名前空間だけを検索しない限りタグを返します。したがって、これに注意してください。

これらの2つのブランチのリストを取得したら、どのブランチにオープンプルリクエストがないかを簡単に調べることができます(masterやその他のブランチを忘れないでください)。

delete reference APIを使用すると、これらのブランチの参照をリポジトリから削除できます。

-3

マージまたはクローズプル要求後にブランチを削除できます。また、GITHubの分岐ページから削除することもできます。

Pls。詳細はこちらをご覧ください:https://help.github.com/articles/deleting-unused-branches/

+0

私が求めているのは、すべてのブランチの一括削除です。 –

+0

@the_drow - 明示的に一括削除の提案が必要であると言及していないので、私はそれを提案しました。これに対して-1は期待しないでください。 –

+0

アンウェイ - ここには一括削除のオプションもあるスレッドがあります。 http://stackoverflow.com/questions/10555136/delete-multiple-remote-branches-in-git –

関連する問題