2016-03-16 4 views
14

ブランチは実際にクリエイターの情報を格納していないことを知っています。コミットのポインタに過ぎません。私が作成したgitブランチを表示するスクリプトはありますか?

私の目標は、メインブランチにマージされた古いブランチを取り除くことができるようにすることです。 (クリーンアップ)。

これは、マージされたブランチを探したいので、「マージされていないブランチを見つける」とは違うので、作者がやりたいと思っています。

私の質問は私が作成したgitブランチを表示するスクリプトはありますか?

+0

あなたの質問のタイトルと本文が矛盾しているように見える:あなたがしたいですかあなたが作成したブランチを取得します(私はあなたができるとは思わない)か、または結合されていないブランチをリストしたいと思いますか?または両方の組み合わせ? – morxa

+0

[gitがマージされていないブランチを見つけられる可能性があります]の複製があります(http://stackoverflow.com/questions/12276001/git-finding-unmerged-branches) – gzh

+0

私は両方が欲しいです。私は私が作成したすべてのブランチをマージまたはマージ解除したい。 – hawkeye

答えて

22

このコマンドリストのすべての支店とその著者名

git for-each-ref --format=' %(authorname) %09 %(refname)' --sort=authorname 

あなたはgithubのを使用している場合、あなただけのすべてすでに合併を削除したい場合は、すべてのあなたの支店に

を取得するためにhttps://github.com/author/repo/branches/yoursを訪問することができますあなたが私たちにコマンドを与えることができる枝

git branch --merged | grep -v "\*" | grep -v master | grep -v dev | xargs -n 1 git branch -d 

git for-each-refの詳細については、を参照してください。。上記SachinSunnyの答えの若干の結露は、あなたが単純なコマンドを達成するためにはgrepの正規表現の機能を使用することができたよう

+2

grepを使ってパイプする以外の方法がありますか? – hawkeye

+0

これは質問に答えません。 OPは明示的に質問: "私の質問は:私によって作成されたgitブランチを一覧表示するスクリプトはありますか?この回答は十分ではありません –

+0

上記のコマンドに '--sort = authorname'を追加すると、あなたのブランチをグループ化することができます。それ以外の場合は、自分が作成したブランチだけを表示できるかどうかはわかりません。 – SachinSunny

1

は:

git branch --merged | grep -Pv "\*|master|dev" | xargs -n 1 git branch -d 
関連する問題