ターゲット層
ブランチを切った時間を計測したい人。
記事を書く理由
会社の進め方がFour Keysになったからです。Four keysではleadtimeを計測するものがあり、それを計測するためにブランチを切った時間を測る必要がありました。切った時間を取得したかったのですが、切った時間はgitに残らないっぽいです。なので自分でcheckout -bした直後にcommitする必要がありました。それが面倒でかつ、何回か忘れてしまったので自動化しようと思いました。
今進めているFour Keysの詳細はこちら↓
手順
- gitconfigにaliasを追加
- ターミナルを開き直す
- bcheckoutの実行
gitconfigにaliasを追加
~/.gitconfigにaliasを追加
.gitconfig
[alias]
bcheckout = "!f () { git checkout -b $1 $2; today=`date '+%Y-%m-%d %H:%M:%S'`; comment=\"ファーストコミット:${today}\"; git commit --allow-empty -m \"${comment}\";};f"
# => ファーストコミット:2022-04-14 21:57:09
gitの入力補完を使いたいため、gitconfigで実装しています。
ターミナルを開き直す
変更したgitconfigを読み込むためにターミナルを開き直します。
bcheckoutの実行
git bcheckout [作成するブランチ名(省略可)] [参照ブランチ名(省略可)]
コマンドの実行例
$ git bcheckout test2
Switched to a new branch 'test2'
[test2 0b6fbe0e] ファーストコミット:2022-04-18 18:59:04
気づいたこと
- スペースに注意する
bcheckout = "!f () { git checkout -b $1 $2; today=`date '+%Y-%m-%d %H:%M:%S'`; comment="ファーストコミット:${today}"; git commit --allow-empty -m "${comment}";};f"
ダブルクォーテーションにをエスケープしていなかったのでコマンドが正しく解釈されていなかった。
- 最近作ったばっかなので、bcheckoutを打つのを忘れてしまう
git入力補完などの便利設定
https://qiita.com/mikan3rd/items/d41a8ca26523f950ea9d