git用語の曖昧語

オブジェクトIDを何と呼ぶか?

  1. ID : 省略
  2. オブジェクト : 識別子と参照対象物を同一視
  3. リビジョン番号 : コミットオブジェクトの場合はそうなる
  4. コミット : 識別子と参照対象物を同一視、かつ参照対象物が特定のタイプのとき
  5. SHA-1 : オブジェクトIDの生成にSHA-1アルゴリズムが使われているから
  6. ハッシュ : オブジェクトIDはオブジェクト・コンテントのハッシュ値だから
  7. 名前 : オブジェクトに付けられた名前だから
  8. 番号 : オブジェクトに付けられた番号だから

「ブランチ」の用法は:

  1. ブランチラベル: .git/refs/head/ に入っているファイルが実体
  2. ブランチラベルが指すコミットオブジェクト
  3. ブランチラベルが指すコミットオブジェクトの過去集合 : リビジョン順序に関する下方集合
  4. ブランチラベルが指すコミットオブジェクトの固有過去集合 : 他のラベルが指すコミットオブジェクトの過去集合とかぶらない部分集合。そのブランチ=過去集合に独自の歴史。
  5. ブランチラベルが指すコミットのファイルツリー
  6. ブランチラベルが指すコミットがカレントコミットだとして、そのワーキングツリー

「ツリー」の方法は:

  1. treeオブジェクト
  2. 一般的なツリー構造
  3. ファイルツリー
    1. リポジトリ内のファイルツリー
    2. ファイルシステム内のファイルツリー、特にワーキングツリー

ラベル関係:

  1. ラベルの種類でラベルを意味する: ブランチ、タグ、ヘッド(HEAD)、リモートブランチ(.git/refs/remotes/*/*)
  2. 参照
  3. 参照名:ラベルが持つ名前
  4. ポインター: 例: ブランチポインター=ブランチラベル=種別がブランチであるラベル

「リモートブランチ」は:

  1. リモートリポジトリにあるブランチ(ブランチは曖昧語)
  2. リモートリポジトリにあるブランチを追跡するために、ローカルにあるリモート追跡ブランチ(追跡専用のブランチ)


例文:

  • 公式マニュアルから: ブランチをチェックアウトしている → 現在のワーキングツリーは、ブランチラベルが指す先のコミットオブジェクトをベースにしている。