ShellScript
Git
効率化

ワンライナーで残業コミットを調べる

環境

git version 2.14.1

はじめに

シェルとgitで残業コミットを調べる
の改良版です。

先にまとめ

git fetch; echo; git log origin/release..HEAD --date=format:'%m%d %H%M' --pretty=format:"%ad %h %s" --author="$(git config user.name)" | sort -k1 -k2 | awk '$2>1930'

# こんな感じで出力されます
#日付 時間 ハッシュ     コミットメッセージ
0110 1948 94f96dd2c62 モデル修正
0123 1945 21902167963 UIがポップアップしないバグ修正

解説

測定期間を変更したい

origin/release..HEAD をお好きなブランチ間に変更してください。

残業の時間を変更したい

1930 を2200(深夜残業)などに変更してください。

CommitDateとAuthorDate

前回の方法だとCommitDateを参照していたためrebaseをかけると、もともとコミットした時間が上書きされてしまい、上手く検出できませんでした。
Git のコミットのタイムスタンプには author date と committer date の 2 種類があるという話

今回はAuthorDateを参照しているのでrebaseかけてもへっちゃらです!

さいごに

濃く働いて、早く帰ろう!