ベストアンサー1
理論的な観点から:
- タグは、特定のリビジョンのシンボリック名です。タグは常に同じオブジェクト (通常は同じリビジョン) を指し、変更されることはありません。
- ブランチは開発ラインのシンボル名です。新しいコミットはブランチの上に作成されます。ブランチ ポインターは自然と進み、どんどん新しいコミットを指します。
技術的な観点から:
- タグは名前空間内に存在し
refs/tags/
、タグ オブジェクト(注釈付き、オプションで GPG 署名されたタグ) またはコミット オブジェクト(ローカル名にはあまり使用されない軽量タグ) を直接ポイントしたり、非常にまれにツリー オブジェクトまたはBLOB オブジェクト(GPG 署名など)を指定したりすることもできます。 - ブランチは名前空間内に存在し、コミット オブジェクト
refs/heads/
のみを指すことができます。ポインターはブランチ (シンボリック参照) を参照するか、コミット (分離された HEAD または名前のないブランチ) を直接参照する必要があります。HEAD
- リモート追跡ブランチは名前空間に存在し
refs/remotes/<remote>/
、リモート リポジトリ内の通常のブランチに従います<remote>
。
参照git用語集マニュアルページ:
支店
「ブランチ」とは、アクティブな開発ラインのことです。ブランチの最新のコミットは、そのブランチの先端と呼ばれます。ブランチの先端は、ブランチ ヘッドによって参照され、ブランチで追加の開発が行われると、ブランチ ヘッドが前進します。単一の Git リポジトリは、任意の数のブランチを追跡できますが、作業ツリーはそのうちの 1 つのブランチ (「現在の」または「チェックアウトされた」ブランチ) とのみ関連付けられ、HEAD はそのブランチを指します。
鬼ごっこ
タグまたはコミット オブジェクトを指す参照。ヘッドとは対照的に、タグはコミットによって変更されません。タグ (タグ オブジェクトではない) は に保存されます
$GIT_DIR/refs/tags/
。[...]。タグは、コミット祖先チェーン内の特定のポイントをマークするために最も一般的に使用されます。タグオブジェクト
別のオブジェクトを指す参照を含むオブジェクト。コミット オブジェクトと同様に、メッセージを含めることができます。(PGP) 署名を含めることもできます。その場合は、「署名付きタグ オブジェクト」と呼ばれます。