情報科学 › ソフトウェア開発 › バージョン管理システム Git

Git オブジェクト

定義 3.1(「バージョン管理システム Git」§3)

Git の格納庫に入るオブジェクトは次の 4 種類である。いずれも <種別> <バイト数> に NUL を続けたヘッダと本体を連結したバイト列 σ\sigma を持ち、その名前(オブジェクト ID)は h=H(σ)h = H(\sigma) で定まる。オブジェクトは一度作られたら変更されない。

種別本体の内容何を表すか
blobファイルの中身そのもの(ファイル名は持たない)ファイル 1 個分の内容
tree<モード> <名前> に NUL と 20 バイトのオブジェクト ID を続けた項目の列(名前順)ディレクトリ 1 個分の構造
commit木の ID を 1 個、親コミットの ID を 0 個以上、作者・コミッター・日時、空行、コミットメッセージある時点のプロジェクト全体の状態
tag対象オブジェクトの ID、種別、タグ名、タグ付け者、メッセージ注釈つきタグ(署名を付けられる)

tree の項目のモードは、通常ファイルが 100644、実行可能ファイルが 100755、サブディレクトリが 40000、シンボリックリンクが 120000 である。

本文で読む(前後の説明と例)→

閉包の状態

定義

定義は閉包の起点です(証明を要しません)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

これを使っている定理

証明で明示的に参照している定理は、まだありません。

関連するノック 4 問