gitのコミット情報、例えば
git log -1 --date=iso --format='%cd,%h'のように整形したコミット情報
2022-10-01 00:00:55 +0900,9bcf00bを WEB や android アプリに 現在のバージョン情報として埋め込む方法例。...▼
git に標準で備わるGitフック機能(クライアントサイドフック)を使用。
Git のカスタマイズ - Git フック
デフォルトでは、監視対象の「.git/hooks」ディレクトリ内のスクリプトが決められたタイミングで実行される。
今回は、このシェルスクリプトも監視対象とするため「script/githooks」などのディレクトリを作成し、こちらのフックが実行されるように
今回は、コミットした後のタイミングでコミット情報をテキストファイルに書き出すシェルスクリプト
シェルスクリプトの場合 忘れずに実行権限をつける。
注意点として ローカルでは最新だが push先のリモートリポジトリは1つ前のコミット情報なので、コミット情報テキストファイルを 監視対象外ファイルとし push のタイミングで ファイル転送してもよい。
Git のカスタマイズ - Git フック

デフォルトでは、監視対象の「.git/hooks」ディレクトリ内のスクリプトが決められたタイミングで実行される。
今回は、このシェルスクリプトも監視対象とするため「script/githooks」などのディレクトリを作成し、こちらのフックが実行されるように
$ git -C 対象パス config --local core.hooksPath script/githooksと変更する。
今回は、コミットした後のタイミングでコミット情報をテキストファイルに書き出すシェルスクリプト
対象パス/script/githooks/post-commitを作成。
#!/bin/sh git log -1 --date=iso --format='%cd,%h' > template/ja_JP/version.txtこれは、PHPフレームワークのsmartyテンプレートから {include file="version.txt"} のようにコミット情報を表示させる簡単な例。
シェルスクリプトの場合 忘れずに実行権限をつける。
$ chmod +x 対象パス/githooks/post-commit
注意点として ローカルでは最新だが push先のリモートリポジトリは1つ前のコミット情報なので、コミット情報テキストファイルを 監視対象外ファイルとし push のタイミングで ファイル転送してもよい。