1. ホーム
  2. git

[解決済み] なぜ、軽量タグと注釈付きタグにこだわる必要があるのでしょうか?

2022-03-14 23:31:30

質問

昨年、日常的に使うVCSをSubversionからGitに切り替えましたが、まだ"Git-think"の細かい点を把握しようとしているところです。

最近気になるのは、quot;lightweight" と annotated と signed のタグの比較です。 しかし、私が見つけたその理由の説明は、いつも次のどちらかに集約されるようです。 ベストプラクティスだからです。 または "違うから" . 残念ながら、それらは、以下のことを知らずに、非常に満足のいかない議論です。 なぜ ベストプラクティスなのか、その違いがどのようなものなのか。 関連 を、私のGitの使い方と照らし合わせてみてください。

私が初めてGitに乗り換えたとき、軽量タグはスライスしたパン以来の最高のもののように思えました。 しかし、世界のGitエキスパートが任意に注釈付きタグを好むというのは信じられませんね。 では、この騒動は何なのでしょうか?

(ボーナスポイント: なぜタグに署名する必要があるのでしょうか?)

EDIT

私は、これまで 説得成功 誰がいつタグ付けしたかを知ることは重要です。 続いて、良いタグ注釈について何かアドバイスがあれば教えてください。 どちらも git tag -am "tagging 1.0" 1.0 とか、前のタグ以降のコミットログをまとめようとすると、戦略を失うような気がします。

解決方法は?

注釈付きタグの大きな利点は、誰が作ったのかが分かることです。コミットと同じように、誰が作ったのかがわかると嬉しいことがあります。もしあなたが開発者で、v1.7.4 がタグ付けされた (準備ができたと宣言された) ことを知り、確信が持てない場合、誰に相談しますか? 注釈付きタグに名前がある人です! (もしあなたが不信感の強い世界に住んでいるのなら、これによって、人々がタグを付けてはいけないものを付けてしまうのを防ぐこともできます)。あなたが消費者であれば、その名前は権威の証となるのです。

最終コミットがいつ行われたかだけでなく、そのバージョンがいつリリースされたかを知ることができるのは、時として素晴らしいことです。そして時には、メッセージが役に立つこともあります。その特定のタグの目的を説明するのに役立つかもしれません。たとえば、リリース候補のタグには、ちょっとしたステータスやToDoリストが含まれているかもしれません。

タグに署名することは、他のものに署名するのと同じように、偏執的な人のためにもう1つのセキュリティレベルを提供するものです。ほとんどの人はこれを使うことはないでしょうが、ソフトウェアをコンピュータに入れる前にすべてを確認したいのであれば、必要かもしれません。

編集する

タグの注釈に何を書くかについては、おっしゃるとおりで、あまり有用なことは書いていないのが現状です。バージョン番号のタグは、そのバージョンを示すものだと暗黙のうちに理解されていますし、他の場所で変更履歴に満足しているのであれば、そこに入れる必要はないでしょう。この場合、本当に重要なのは、タグ付けと日付です。他に考えられるのは、テストスイートからの承認スタンプのようなものでしょうか。git.gitのタグを見てください。どれも、"Git 1.7.3 rc1" のように書かれているだけです。

しかし、あまり目立たない名前のタグであれば、メッセージはもっと重要になる可能性があります。あるユーザーやクライアントのための特別な目的のバージョン、バージョン以外の重要なマイルストーン、あるいは(上記のように)リリース候補に追加情報をタグ付けすることを想定しています。そうすれば、メッセージはより有用なものになります。