[git][PHP]最終コミット日の表示

2017-11-21


運用中のサービスへ、「ちゃんと管理してるよ」アピールをするために更新日を表示したいことがあります。日付だけなんで手動で書き替えてもいいですが、手間がかかりますし、間違えたり変え忘れたら目も当てられないません。

そこで今回のTIPSは「更新日としてgitの最終コミットの日時を使ってやろう」です。

gitのコミットログはご存知、git logで取得できます。デフォルトだと機械的な処理が面倒なので、オプションで整形します。これも当たり前の内容。

git log --date=short --pretty='format:%cd'

これでコミットログのうち、日付だけを取得できます。

さてデータの取得はできるようになったので後は表示するだけ。今回はPHPを使うので、これまたご存知、exec関数を使います。

<?php
$ret = [];
exec("git log --date=short --pretty='format:%cd'", $ret);
echo $ret[0];
?>

exec関数は、出力結果を行単位の配列で返します。今回欲しいのは最終コミット、つまり最初の行なので[0]を参照すればOK。

以上、「git logとexecを使った最終コミット日の表示」という、皆様ご存知すぎる内容でした。