CIAの流出文書から見つかったGitワンライナーが話題になりました。しかしそのテクニック自体はごく実用的なブランチ整理の手法です。この記事ではGit one-linerによるブランチ整理の自動化方法を紹介します。
Git one-liner CIA leakで注目された背景
WikiLeaksが公開したCIA文書にGitコマンドが含まれていました。具体的にはマージ済みブランチを一括削除するワンライナーです。しかし内容自体は一般的なGit運用テクニックです。つまり機密技術ではなく日常的なベストプラクティスです。それでもCIA由来という話題性で注目を集めました。
マージ済みブランチの一括削除コマンド
基本形はgit branch –mergedとxargsの組み合わせです。また、mainやdevelopなどの保護ブランチは除外します。さらにgrepの-vオプションでフィルタリングします。特にこのワンライナーで数十本のブランチを一度に整理できます。そのため手動削除の手間が大幅に減ります。
安全に自動化するための工夫
まずドライランで削除対象を確認すべきです。たとえばxargs前にパイプでlessに流すと安全です。また、CI/CDのポストマージジョブに組み込む方法もあります。さらにGitHub Actionsで定期実行する設計も有効です。しかし保護ブランチの除外リストは慎重に管理します。つまり自動化と安全性のバランスが重要です。
リモートブランチの整理も忘れずに
ローカルだけでなくリモートブランチも溜まります。具体的にはgit remote pruneで追跡切れブランチを掃除します。また、GitHubの自動削除設定も活用できます。さらにPRマージ時にブランチを自動削除する設定もあります。このようにGitブランチ整理の自動化はリポジトリ衛生の基本です。