いろいろ備忘録日記

主に .NET とか Go とか Python絡みのメモを公開しています。

git でビルド番号や最新タグ、最新コミットを取得する

概要

よく忘れるのでここにメモメモ。。

ちょっとしたアプリケーションを作っていてバージョン番号とかリビジョンをヘルプに出力したい場合って結構あります。

git を使っている場合は、一意なビルド番号とかをサクっと生成できるので便利ですね。

ビルド番号

git describe --tags を使います。

サンプル
gitpod /workspace/try-golang $ git describe --tags
v0.2.3-70-gd31eddd

出力内容ですが、v0.2.3 の部分が最新のタグ、70 の部分がそのタグから現在の最新コミットまでのコミット数、gd31edddとなっているものが、最新コミットのSHA1ハッシュの簡略版です。

基本、これを使えばこのバージョンが一意に決まるのでよく使っています。

最新タグ

最新タグだけ欲しい場合は、git describe --tags --abbrev=0 を使います。

サンプル
gitpod /workspace/try-golang $ git describe --tags --abbrev=0
v0.2.3

最新コミット

最新コミットが欲しい場合は、 git rev-list -1 HEAD を使うか、git rev-parse HEAD を使います。

devlights.hatenablog.com

サンプル
gitpod /workspace/try-golang $ git rev-list -1 HEAD
d31eddd83a9e73e44972f7bebc7940ba5512bb96

gitpod /workspace/try-golang $ git rev-parse HEAD
d31eddd83a9e73e44972f7bebc7940ba5512bb96

Pro Git book はやっぱり素晴らしい

今回あげたコマンドは、Pro Git book にも載っています。これが無償で読めるって素晴らしいですね。

なんだかんだいって、最終的にはここに戻ってきてますいつもw

git-scm.com

参考情報

git-scm.com

git-scm.com

stackoverflow.com


過去の記事については、以下のページからご参照下さい。

  • いろいろ備忘録日記まとめ

devlights.github.io

サンプルコードは、以下の場所で公開しています。

  • いろいろ備忘録日記サンプルソース置き場

github.com

github.com

github.com