はじめに
Gitを使っていると、特にフィーチャーブランチを頻繁に作成する場合、ブランチの管理が複雑になりがちです。ブランチが増えてくると、それらを一つ一つ手動で削除するのは大変ですよね。今回は、マージ済みのGitブランチを一括で削除する方法と、Zsh環境でのalias設定方法について解説します。
必要なもの
- Gitがインストールされていること
- Zshがインストールされていること(alias設定の部分で必要)
ブランチの削除
まずは、マージ済みのブランチを表示するコマンドから始めましょう。
git branch --merged
このコマンドは、現在のブランチから見てマージ済みのブランチの一覧を表示します。
次に、このリストから master
ブランチや他の保持したいブランチを除外し、残りのブランチを削除します。以下のコマンドは master
と develop
ブランチを除外し、残りのマージ済みブランチを削除します。
git branch --merged | egrep -v "(^\*|master|develop)" | xargs git branch -d
ここで、egrep -v "(^\*|master|develop)"
の部分は、マージ済みブランチのリストから現在のブランチ(*
で表示される)、master
ブランチ、develop
ブランチを除外します。保持したいブランチが他にもある場合は、この部分に名前を追加してください。
最後に、xargs git branch -d
は、フィルタリングした各ブランチに対して git branch -d
コマンド(ブランチの削除コマンド)を実行します。
Zsh環境でのalias設定
この一連のコマンドをaliasとして設定すると、コマンドを一度打つだけでマージ済みのブランチを削除できます。これにより、コマンドの打ち間違いを防いだり、タイピングの手間を減らすことができます。
Zsh環境でaliasを設定するには、~/.zshrc
ファイルに以下の行を追加します。
alias delete_merged_branches="git branch --merged | egrep -v \"(^\*|master|develop)\" | xargs git branch -d"
この設定を保存した後、新しいターミナルセッションを開始するか、以下のコマンドを実行して .zshrc
ファイルの変更を反映させます。
source ~/.zshrc
これで、delete_merged_branches
というコマンドをターミナルで実行すると、マージ済みのブランチが削除されます。
注意事項
Gitでブランチを削除するときは注意が必要です。削除操作は取り消しできませんので、削除するブランチが本当に必要ないものであることを確認してから実行してください。また、このコマンドはローカルのブランチを削除します。リモートのブランチを削除するには、ブランチ名を指定して git push origin --delete <branch_name>
を実行する必要があります。
終わりに
今回は、マージ済みのGitブランチを一括で削除する方法と、Zsh環境でのalias設定方法について解説しました。これにより、ブランチの管理がより楽になり、効率的な開発作業が可能になることでしょう。それでは、Happy Git-ing!