Hatena::Groupsubtech

NaN days

ブログを移転しています。最新の記事は motemen.hatenablog.com へどうぞ

2012-04-19

あるコミット範囲でマージされたブランチを列挙する

| 20:56 | あるコミット範囲でマージされたブランチを列挙する - NaN days を含むブックマーク はてなブックマーク - あるコミット範囲でマージされたブランチを列挙する - NaN days

業務でウェブアプリケーションを運用していくとき Git のブランチは日々の作業を続けるうちに前進してゆくのであとから「このブランチいつマージされたんだっけ?」などと思っても確認しづらかったりする。なので適宜記録しておくのがよいな、と思い、適切な粒度をということで、デプロイのたびに記録するようにしています。

デプロイの際に以下のようなコマンドを実行する:

git rev-list $prev..$curr --topo-order | git name-rev --stdin --name-only --refs='refs/remotes/origin/*' | perl -anal -e 'm<^remotes/origin/((?!HEAD|master)[\w/-]+)$> and print qq(- $1)'

$prev は前回のコミット SHA1、$curr は今回のコミット SHA1 です。

これをデプロイツールの設定に仕込んで起動してやることで

- hogefeature
- fix/fuga

のように今回のデプロイで取り込まれた変更が一覧できます。あとはこの内容を業務で使うグループウェアなり git notes なりに残しておけばあとから見直すときに便利です。