※当サイトの記事には、広告・プロモーションが含まれます。

Gitのタグの命名ルール(命名規則)が悩ましい...

gigazine.net

NVIDIAなどが支援するスタートアップ「Starcloud」は宇宙空間にデータセンターを設置する計画を進めています。2025年11月にはNVIDIAのAIチップ「H100」を搭載した人工衛星が打ち上げられる予定で、エネルギーコストは地上の10分の1に抑えられるそうです。

宇宙空間にデータセンターを設置する計画が実現間近に - GIGAZINE

Starcloudは「軌道上にデータセンターを設置する」という目標を掲げるスタートアップです。地球上に存在するデータセンターはプロセッサーの冷却のために真水を大量に使う大がかりな冷却機構が必要となりますが、宇宙空間では冷却機構が不要です。このため、データセンターのコストは打ち上げコストを含めても地上の10分の1に抑えることができます。

宇宙空間にデータセンターを設置する計画が実現間近に - GIGAZINE

⇧ 気になるのは、

fanfun.jaxa.jp

地球周辺の軌道を飛行する物体(スペースシャトル人工衛星など)の表面の温度は、使用している物質の太陽光(赤外線)の吸収の度合いやその表面から熱を放射する度合いによって変わってきますが、だいたいの値は、陰の部分はマイナス150度、反対に日が当たっている部分はプラス120度ぐらいにまでなります。

宇宙では、どの位温度が高温になったり低温になったりするのですか? | ファン!ファン!JAXA!

⇧ 上記になるように「温度差」は考慮事項としているのかですかね。

前提条件が分からないので、『宇宙空間では冷却機構が不要です』の根拠が分からない...

まぁ、厳密な「要件定義」が行われて、

  1. 機能
  2. 非機能

は整理できているとは思うが...

Gitのタグの命名ルール(命名規則)が悩ましい...

公式のドキュメントによると、

git-scm.com

⇧ 特にこれといった指針のようなものは無いようだ。

GitHub」のドキュメントによると、

docs.github.com

いくつかの例外 — 名前の最初と最後にスラッシュを使わない、名前に連続したスラッシュを使わない、など — を除いて、Git にはブランチやタグの名前に使用できる文字の制約がほとんどありません。

https://docs.github.com/ja/get-started/using-git/dealing-with-special-characters-in-branch-and-tag-names

⇧ とあり、ご立腹である。

それもそのはず、「コンピューター」の世界において、「文字」周りは、いろいろと問題を引き起こす厄介な存在ですからな...

ネットの情報を漁っていたところ、

zenn.dev

⇧ 上記サイト様で、メジャーどころの「プロジェクト」における「タグ名」の「命名ルール」が紹介されていた。

確かに、「セマンティックバージョン」で整理されているのが「理想」だとは思うのだが、「理想」と「現実」が乖離することが往々にしてあるのが現場というものでしょうか。

ちなみに、「セマンティックバージョン」はというと、

セマンティック・バージョニング(英語:Semantic Versioning)とは、ソフトウェアバージョニング方法の一つ。

セマンティックバージョニング - Wikipedia

「1.23.45」といったように"."で区切った3つの非負整数で表される。

前から順にメジャーバージョン、マイナーバージョン、パッチバージョンと呼ぶ。

セマンティックバージョニング - Wikipedia

APIの変更に互換性のない場合はメジャーバージョンを、後方互換性があり機能性を追加した場合はマイナーバージョンを、後方互換性を伴うバグ修正をした場合はパッチバージョンを上げる

セマンティックバージョニング - Wikipedia

⇧ 上記にあるように、「セマンティック・バージョニング(Semantic Versioning)」という方法を利用しておりますと。

利用者が目にする「リリース」という観点からしてみたら、「セマンティックバージョン」が好ましいとは思うのだが、開発者が目にする「開発」という観点からしてみた場合は、

qiita.com

CircleCIでGitタグをイベントにCIを回していく記事はありますが、じゃあ実際にどういうタグ名にするか
という記事は見かけなかった為、実際にタグを運用してみての話をしていきたいと思います

CircleCIで何をデプロイしたかをわかるGitタグを作成 #Bash - Qiita

⇧ 上記サイト様にありますように、「タグ名」から意味が把握できる方が嬉しいという気持ちはある。

ちなみに、

circleci.com

⇧ 本家の公式ブログでも、「タグ名」については全く言及されていないのよな...

「リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)【Dustin Boswell (著), Trevor Foucher (著), 須藤 功平 (解説), 角 征典 (翻訳)】」とかでは、「命名ルール(命名規則)」が大事ですよって話が出てくるのだが、「インフラ」周りだとどういう思想なのかがサッパリ分からない...

このあたりって、どうするのが良いんですかね?

 

ちなみに、「Git」の「タグ」には種類があるらしく、

  • Tags
    1. 注釈付き版(annotated tag)
      1. 署名あり
      2. 署名なし
    2. 軽量版(lightweight tag)

の2種類に大別されるらしい。

「署名あり」と「署名なし」も考慮すると、3種類になるってことですかね。

git-scm.com

タグの作成

Git のタグには、軽量 (lightweight) 版と注釈付き (annotated) 版の二通りがあります。

軽量版のタグは、変更のないブランチのようなものです。特定のコミットに対する単なるポインタでしかありません。

しかし注釈付きのタグは、Git データベース内に完全なオブジェクトとして格納されます。 チェックサムが付き、タグを作成した人の名前・メールアドレス・作成日時・タグ付け時のメッセージなども含まれます。 また、署名をつけて GNU Privacy Guard (GPG) で検証することもできます。 一般的には、これらの情報を含められる注釈付きのタグを使うことをおすすめします。 しかし、一時的に使うだけのタグである場合や何らかの理由で情報を含めたくない場合は、 軽量版のタグも使用可能です。

Git - タグ

⇧ 上記によると、一般的には「注釈付き(annotated)」の「タグ」の利用が推奨されるらしい。

  1. annotated tag
  2. lightweight tag

の違いについては、

zenn.dev

note.com

⇧ 上記サイト様が詳しいです。

毎度モヤモヤ感が半端ない…

今回はこのへんで。