web-dev-qa-db-ja.com

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

ブランチは実際には作成者情報を保存しないことを知っています-そしてそれらはコミットへのポインタにすぎません。

私の目標は、メインブランチにマージされた古いブランチを削除し、これも行われていないブランチを一覧表示できるようにすることです。 (クリーンアップ)。

これは「マージされていないブランチの検索」とは異なります。なぜなら、マージされたブランチも検索したいので、著者によってそれをしたいからです。

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

33
hawkeye

このコマンドは、すべてのブランチとその作成者名をリストします

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の詳細については、 こちら をご覧ください。

47
SachinSunny

上記のSachinSunnyの答えを少し要約すると、grepの正規表現機能を使用して、より簡単なコマンドを実行できます。

git branch --merged | grep -Pv "\*|master|dev" | xargs -n 1 git branch -d
5
Eric