web-dev-qa-db-ja.com

1つのステップ/コマンドでブランチをマージおよび削除します

単一のコマンドでmergeブランチを自動的にdeleteすることは可能ですか?削除ステップは、マージが成功した場合にのみ実行する必要があります。

28
BendEg

いいえ、gitはこれを同時にサポートしていません。

ただし、シェルで条件付きでコマンドを実行できます。

git merge source-branch && git branch -d source-branch

編集:

-dはマージされたブランチのみを削除しますが、-Dはマージされていないブランチも削除するので、-dは、ブランチがマージされることを保証し、誤ってブランチを削除しないようにします。

スクリプトを書きます。

git branch | grep -v master | xargs git merge &&
git branch | grep -v master | xargs git branch -d

ここで、ブランチ名masterは現在のブランチ名に置き換えることができます。

&&を忘れないでください。最初の行が失敗した場合、2番目の行は実行されません。

2
ramwin