2017-02-17 5 views
2

How can I delete all git branches which have been merged?マージされたブランチを削除する方法を示します。しかし、GitHubでは、 "Squash and merge"と "Rebase and merge"オプションがあり、どちらもgit branch --mergedで検出されません。masterと違いがないローカルブランチを削除するには?

マスタにマージされた場合、本質的に空のコミットを生成するすべてのブランチを識別する方法はありますか?

EDIT:リンクされた質問と同様に、CLI経由でプログラム的な方法を探します。

+0

ちょうど 'gitのは、分岐ヒントdiff':' gitのdiffのXYZ master'をxyz' '先端のソースツリーがmaster''の先端にソースツリーと一致した場合は空です。 (これは、両方の名前が同じコミットハッシュに変換されるかどうかにかかわらず、コミットの* tree *が一致している限り真である) – torek

+0

git自体はそうした方法を提供しない。たぶんあなたはGithubから得ることができます – max630

答えて

0

他のブランチと比較できる点はmasterです。 が見つからない場合は、ブランチを削除してください。

$ git checkout master 

$ git branch   
$ git diff HEAD..branch1  # see what is in 'branch1' that is not in 'master' branch 

# if no difference found then delete the branch 
$ git branch -D branch1  
0

最も簡単な方法は、GitHub Web UIを使用することです。あなたのリポジトリに移動します。

enter image description here

アクティブ、古い、ユアーズ、デフォルトでリポジトリ内

GitHubのグループの枝:枝の数をクリックします。 Open、Closed、またはMergedとマークされた色分けされたボタンがあります。ボタンの右側には、ブランチを削除するためのゴミ箱ボタンがあります。

enter image description here

関連する問題