Gitブランチを最新コミット順にソートして整理整頓しよう!
Sort branches by last commit date
Sort branches by last commit date
Gitのブランチが増えすぎて管理が大変…そんな時は、最新のコミット順にソートして、古いブランチをサクッと整理してしまいましょう。
(個人的な意見だけど)さらに言うなら git config branch.sort -committerdate(マイナスの記号を忘れずに!)の方が良いよ。これで最新のコミット日順に並び替えられる。
あるいは、jj logをカスタム設定しちゃうのもアリ。
参考までに、Fish shellならgitコマンドを打つときに最終コミット日順でブランチを補完してくれるよ。あと、コミットishなオブジェクトもクラスごとにグループ化して補完してくれるし、よく使うターゲットを優先して、各グループは独自のソートキーで並び替えてくれる。便利だよ!
これって、ブランチが何個くらいあると恩恵を感じるものなの?
自分はTowerを開いてクリックするだけだな。そっちの方が断然いい。
数年前に自分で書いたfzfのbash関数が最高だよ:https://gist.github.com/thomasaarholt/141df779f3f16b641701b4... (https://gist.github.com/thomasaarholt/141df779f3f16b641701b4782431f7c3) これを使うと、リポジトリ内のブランチが新しい順に表示されるファジーファインダーが開くんだ。最新のコミット担当者と日付も出るよ。切り替えたいやつでEnterを押すだけ。
この目的にはgit recent [0]をかなり愛用してる。
[0] - https://github.com/paulirish/git-recent (https://github.com/paulirish/git-recent)
だよね。自分もzshrcにこの手のやつ用のヘルパーを入れてるよ:
alias git-hot-refs="git branch --sort=committerdate | tail"
ちょっとしたことだけど生活の質が上がるね。自分のgit branchの出力なんて時々墓場みたいになってるから、これは助かる。
うちのチームのgit branchの出力も墓場状態なんだよね。最終コミット順でソートできれば、今動いてる作業と放置されてるブランチをすぐ見分けられるから神機能になりそう。