日本語 ▾ トピック ▾ 最新バージョン ▾ gitglossary は 2.48.0 で最終更新されました

名前

gitglossary - Git 用語集

概要

*

説明

代替オブジェクトデータベース

代替メカニズムを介して、リポジトリオブジェクトデータベースの一部を別のオブジェクトデータベース(「代替」と呼ばれる)から継承できます。

ベアリポジトリ

ベアリポジトリは通常、バージョン管理下のファイルのローカルチェックアウトコピーを持たない、適切に命名された .git 接尾辞を持つディレクトリです。つまり、隠された .git サブディレクトリに通常存在するすべての Git 管理ファイルおよび制御ファイルは、代わりに repository.git ディレクトリに直接存在し、他のファイルは存在せずチェックアウトもされていません。通常、公開リポジトリの公開者はベアリポジトリを利用可能にします。

ブロブオブジェクト

型のないオブジェクト。例えば、ファイルの内容。

ブランチ

「ブランチ」とは、開発の流れのことです。ブランチ上の最新のコミットは、そのブランチの先端と呼ばれます。ブランチの先端はブランチのヘッドによって参照され、ブランチ上で追加の開発が行われるにつれて前方へ移動します。単一のGitリポジトリは任意の数のブランチを追跡できますが、あなたの作業ツリーはそれらのうちの1つ(「現在の」または「チェックアウトされた」ブランチ)に関連付けられており、HEADはそのブランチを指しています。

キャッシュ

廃止されました: インデックス

チェーン

オブジェクトのリストで、リスト内の各オブジェクトがその次のオブジェクトへの参照を含んでいます(例えば、コミットの次はそのの1つになりえます)。

チェンジセット

BitKeeper/cvsps の用語で、「コミット」を意味します。Git は変更ではなく状態を保存するため、Git で「チェンジセット」という用語を使用するのは意味がありません。

チェックアウト

オブジェクトデータベースからツリーオブジェクトまたはブロブを使用して、作業ツリーのすべてまたは一部を更新するアクション。作業ツリー全体が新しいブランチを指している場合は、インデックスHEADも更新します。

チェリーピック

SCMの専門用語で、「チェリーピック」とは、一連の変更(通常はコミット)から変更のサブセットを選択し、別のコードベースの上に新しい一連の変更として記録することを意味します。Gitでは、既存のコミットによって導入された変更を抽出し、現在のブランチの先端をベースとして新しいコミットとして記録するために、「git cherry-pick」コマンドによって実行されます。

クリーン

作業ツリーは、現在のヘッドによって参照されるリビジョンに対応している場合、クリーンであると言えます。「ダーティ」も参照してください。

コミット

名詞として:Git履歴内の単一のポイント。プロジェクトの全履歴は、相互に関連するコミットのセットとして表されます。「コミット」という言葉は、他のバージョン管理システムが「リビジョン」または「バージョン」という言葉を使用するのと同じ場所で、Gitによってしばしば使用されます。コミットオブジェクトの略語としても使用されます。

動詞として:インデックスの現在の状態を表す新しいコミットを作成し、HEADを新しいコミットを指すように進めることで、プロジェクトの状態の新しいスナップショットをGit履歴に保存するアクション。

コミットグラフの概念、表現、および使用法

オブジェクトデータベース内のコミットによって形成されるDAG構造の同義語で、チェーンされたコミットのチェーンを使用してブランチの先端によって参照されます。この構造が決定的なコミットグラフです。グラフは他の方法でも表現できます。例えば、「コミットグラフ」ファイル

コミットグラフファイル

「コミットグラフ」(通常はハイフンで区切られる)ファイルは、コミットグラフを補完的に表現するもので、コミットグラフの探索を高速化します。「コミットグラフ」ファイルは、.git/objects/info ディレクトリ、または代替オブジェクトデータベースの info ディレクトリに保存されます。

コミットオブジェクト

特定のリビジョンに関する情報(、コミッター、作者、日付、および保存されたリビジョンの最上位ディレクトリに対応するツリーオブジェクトなど)を含むオブジェクト

コミットっぽい(コミッティッシュとも)

コミットオブジェクト、またはコミットオブジェクトに再帰的にデリファレンスできるオブジェクト。以下のすべてがコミットっぽいものです:コミットオブジェクト、コミットオブジェクトを指すタグオブジェクト、コミットオブジェクトを指すタグオブジェクトを指すタグオブジェクトなど。

コア Git

Git の基本的なデータ構造とユーティリティ。限られたソースコード管理ツールのみを公開しています。

DAG

有向非巡回グラフ。コミットオブジェクトは親を持つ(有向)ため有向であり、コミットオブジェクトのグラフは非巡回である(同じオブジェクトで始まり終わるチェーンが存在しない)ため、有向非巡回グラフを形成します。

ぶら下がりオブジェクト

他の到達不能なオブジェクトからも到達不能到達不能なオブジェクト。つまり、ぶら下がりオブジェクトには、リポジトリ内のどの参照やオブジェクトからも参照されていません。

デリファレンス

シンボリックリファレンスを参照する場合: シンボリックリファレンスが指すリファレンスにアクセスするアクション。再帰的なデリファレンスには、非シンボリックリファレンスが見つかるまで、結果のリファレンスに対して前述のプロセスを繰り返すことが含まれます。

タグオブジェクトを参照する場合: タグが指すオブジェクトにアクセスするアクション。タグは、結果が指定されたオブジェクトタイプ(該当する場合)または非「タグ」オブジェクトタイプになるまで、結果オブジェクトに対して操作を繰り返すことで再帰的にデリファレンスされます。タグのコンテキストにおける「再帰的デリファレンス」の同義語は「剥がす」です。

コミットオブジェクトを参照する場合: コミットのツリーオブジェクトにアクセスするアクション。コミットは再帰的にデリファレンスできません。

特に指定がない限り、Git コマンドやプロトコルの文脈で使用される「デリファレンス」は暗黙的に再帰的です。

分離 HEAD

通常、HEADブランチの名前を格納し、HEADが表す履歴を操作するコマンドは、HEADが指すブランチの先端に至る履歴を操作します。しかし、Gitでは、特定のブランチの先端である必要のない任意のコミットチェックアウトすることもできます。このような状態のHEADは「分離」状態と呼ばれます。

現在のブランチの履歴を操作するコマンド(例えば、その上に新しい履歴を構築するための git commit)は、HEADが分離状態であっても機能し続けることに注意してください。これらのコマンドは、HEADを更新された履歴の先端を指すように更新し、どのブランチにも影響を与えません。現在のブランチに関する情報を更新または照会するコマンド(例えば、現在のブランチがどのリモートトラッキングブランチと統合されるかを設定する git branch --set-upstream-to)は、この状態では問い合わせる(実際の)現在のブランチがないため、明らかに機能しません。

ディレクトリ

「ls」で得られるリストです :-)

ダーティ

作業ツリーは、現在のブランチコミットされていない変更が含まれている場合、「ダーティ」であると言われます。

不正なマージ

不正なマージとは、どのにも現れない変更を導入するマージのことです。

ファストフォワード

ファストフォワードとは、あるリビジョンを持っていて、それが自身の祖先である別のブランチの変更を「マージ」する特殊なタイプのマージです。このような場合、新しいマージコミットを作成するのではなく、ブランチをマージしようとしているブランチと同じリビジョンを指すように更新するだけです。これは、リモートリポジトリリモートトラッキングブランチで頻繁に発生します。

フェッチ

ブランチをフェッチするということは、リモートリポジトリからブランチのヘッド参照を取得し、ローカルのオブジェクトデータベースに不足しているオブジェクトを見つけ出し、それらも取得することです。詳しくはgit-fetch[1]を参照してください。

ファイルシステム

リーナス・トーバルズは元々Gitをユーザー空間ファイルシステム、つまりファイルやディレクトリを保持するためのインフラストラクチャとして設計しました。これにより、Gitの効率と速度が保証されました。

Git アーカイブ

リポジトリの同義語(arch ユーザー向け)。

gitfile

作業ツリーのルートにあるプレーンファイル .git で、実際のリポジトリであるディレクトリを指します。適切な使用方法については、git-worktree[1] または git-submodule[1] を参照してください。構文については、gitrepository-layout[5] を参照してください。

グラフト

グラフトにより、コミットに偽の祖先情報を記録することで、それ以外は異なる2つの開発ラインを結合することができます。これにより、Gitはコミットが作成されたときに記録されたものとは異なるのセットを持っているかのように振る舞わせることができます。.git/info/grafts ファイルで設定します。

グラフトメカニズムは古く、リポジトリ間のオブジェクト転送で問題を引き起こす可能性があることに注意してください。同じことをより柔軟で堅牢なシステムで行うには、git-replace[1] を参照してください。

ハッシュ

Gitの文脈では、オブジェクト名の同義語。

ヘッド

ブランチの先端にあるコミットへの名前付き参照。ヘッドは、パックされた参照を使用する場合を除き、$GIT_DIR/refs/heads/ ディレクトリのファイルに保存されます。(git-pack-refs[1] を参照してください。)

HEAD

現在のブランチ。より詳細には:あなたの作業ツリーは通常、HEADが参照するツリーの状態から派生します。HEADはリポジトリ内のヘッドの1つへの参照ですが、分離HEADを使用している場合は、任意のコミットを直接参照します。

ヘッドリファレンス

ヘッドの同義語。

フック

いくつかの Git コマンドの通常の実行中に、開発者が機能を追加したりチェックを行ったりするためのオプションのスクリプトが呼び出されます。通常、フックはコマンドが事前に検証され、場合によっては中止されることを可能にし、操作完了後の通知も可能にします。フックスクリプトは $GIT_DIR/hooks/ ディレクトリにあり、ファイル名から .sample 接尾辞を削除するだけで有効になります。以前のバージョンの Git では、実行可能にする必要がありました。

インデックス

統計情報を持つファイルの集合で、その内容はオブジェクトとして保存されます。インデックスはあなたの作業ツリーの保存されたバージョンです。実を言うと、マージの際に使用される作業ツリーの2番目、さらには3番目のバージョンも含むことができます。

インデックスエントリ

インデックスに保存されている、特定のファイルに関する情報。マージが開始されたもののまだ完了していない場合(つまり、インデックスにそのファイルの複数のバージョンが含まれている場合)、インデックスエントリはマージされていない状態である可能性があります。

マスター

デフォルトの開発ブランチ。Git リポジトリを作成すると、「master」という名前のブランチが作成され、アクティブなブランチになります。ほとんどの場合、これがローカル開発を含みますが、それは純粋に慣例によるものであり、必須ではありません。

マージ

動詞として: 別のブランチ (外部のリポジトリである可能性もある) の内容を現在のブランチに取り込むこと。マージされるブランチが異なるリポジトリからのものである場合、これはまずリモートブランチをフェッチし、その結果を現在のブランチにマージすることで行われます。このフェッチとマージ操作の組み合わせをプルと呼びます。マージは、ブランチが分岐して以来行われた変更を識別し、それらの変更をすべてまとめて適用する自動プロセスによって実行されます。変更が競合する場合、マージを完了するために手動での介入が必要になることがあります。

名詞として: ファストフォワードでない限り、成功したマージの結果、マージの結果を表す新しいコミットが作成され、マージされたブランチの先端をとします。このコミットは「マージコミット」または単に「マージ」と呼ばれます。

オブジェクト

Gitにおけるストレージの単位。その内容のSHA-1によって一意に識別されます。したがって、オブジェクトは変更できません。

オブジェクトデータベース

一連の「オブジェクト」を格納し、個々のオブジェクトはそのオブジェクト名によって識別されます。オブジェクトは通常、$GIT_DIR/objects/ に存在します。

オブジェクト識別子 (oid)

オブジェクト名の同義語。

オブジェクト名

オブジェクトの一意の識別子。オブジェクト名は通常40文字の16進文字列で表されます。口語的にはSHA-1とも呼ばれます。

オブジェクトの種類

オブジェクトのタイプを記述する識別子「commit」、「tree」、「tag」、「blob」のいずれか。

オクトパス

2つ以上のブランチマージすること。

孤立

まだ存在しないブランチ(つまり、未作成ブランチ)に乗る行為。このような操作の後、最初に作成されたコミットは親を持たないコミットとなり、新しい履歴が開始されます。

オリジン

デフォルトのアップストリームリポジトリ。ほとんどのプロジェクトには、追跡するアップストリームプロジェクトが少なくとも1つあります。デフォルトでは、その目的のためにoriginが使用されます。新しいアップストリームの更新は、git branch -r を使用して確認できる、origin/name-of-upstream-branchという名前のリモートトラッキングブランチにフェッチされます。

オーバーレイ

作業ディレクトリのファイルを更新および追加するだけで、削除はしません。これは、cp -Rが宛先ディレクトリの内容を更新する方法と似ています。インデックスまたはツリーライクからファイルをチェックアウトする場合のチェックアウトのデフォルトモードです。対照的に、no-overlayモードは、ソースに存在しない追跡ファイルも削除します。これは、rsync --deleteと似ています。

パック

1つのファイルに圧縮されたオブジェクトのセット(スペースを節約したり、効率的に転送したりするため)。

パックインデックス

パックの内容に効率的にアクセスするために、パック内のオブジェクトの識別子とその他の情報のリスト。

パススペック

Git コマンドでパスを制限するために使用されるパターン。

パススペックは、「git ls-files」、「git ls-tree」、「git add」、「git grep」、「git diff」、「git checkout」など、多くのコマンドのコマンドラインで使用され、操作の範囲をツリーまたは作業ツリーのサブセットに制限します。パスが現在のディレクトリからの相対パスかトップレベルからの相対パスかについては、各コマンドのドキュメントを参照してください。パススペックの構文は次のとおりです。

  • 任意のパスはそれ自身と一致します。

  • 最後のスラッシュまでのパススペックはディレクトリプレフィックスを表します。そのパススペックのスコープはそのサブツリーに限定されます。

  • パススペックの残りの部分は、ファイル名の残りの部分に対するパターンです。ディレクトリプレフィックスからの相対パスは、fnmatch(3) を使用してそのパターンと照合されます。特に、*? はディレクトリセパレータと一致することができます

たとえば、Documentation/*.jpg は、Documentation/chapter_1/figure_1.jpg を含む Documentation サブツリー内のすべての .jpg ファイルと一致します。

コロン : で始まるパススペックは特別な意味を持ちます。短い形式では、先頭のコロン : の後に0個以上の「マジックシグネチャ」文字(オプションで別のコロン : で終了)が続き、残りがパスと照合するパターンになります。「マジックシグネチャ」は、英数字、グロブ、正規表現の特殊文字、コロンのいずれでもないASCIIシンボルで構成されます。「マジックシグネチャ」を終了するオプションのコロンは、パターンが「マジックシグネチャ」シンボルセットに属さず、コロンではない文字で始まる場合は省略できます。

長い形式では、先頭のコロン : の後に左括弧 (、カンマ区切りの0個以上の「マジックワード」のリスト、右括弧 ) が続き、残りがパスと照合するパターンになります。

コロンのみのパススペックは「パススペックなし」を意味します。この形式は他のパススペックと組み合わせるべきではありません。

トップ

マジックワード top (マジックシグネチャ: /) は、サブディレクトリ内でコマンドを実行している場合でも、パターンが作業ツリーのルートから一致するようにします。

リテラル

パターン内の *? などのワイルドカードは、リテラル文字として扱われます。

icase

大文字小文字を区別しないマッチ。

グロブ

Gitはパターンを、FNM_PATHNAMEフラグを持つfnmatch(3)によって処理されるシェルグロブとして扱います。パターン内のワイルドカードはパス名内の / とは一致しません。たとえば、「Documentation/*.html」は「Documentation/git.html」とは一致しますが、「Documentation/ppc/ppc.html」や「tools/perf/Documentation/perf.html」とは一致しません。

完全パス名と照合されるパターン内の2つの連続したアスタリスク(「**」)には特別な意味がある場合があります。

  • スラッシュが続く先頭の「**」は、すべてのディレクトリで一致することを意味します。たとえば、「**/foo」は、どこでもファイルまたはディレクトリ「foo」と一致します。これはパターン「foo」と同じです。「**/foo/bar」は、ディレクトリ「foo」の直下にあるどこでもファイルまたはディレクトリ「bar」と一致します。

  • 末尾の「/**」は、その中のすべてに一致します。たとえば、「abc/**」は、.gitignore ファイルの場所からの相対パスで、無限の深さでディレクトリ「abc」内のすべてのファイルと一致します。

  • スラッシュ、2つの連続したアスタリスク、スラッシュと続くものは、0個以上のディレクトリと一致します。たとえば、「a/**/b」は「a/b」、「a/x/b」、「a/x/y/b」などと一致します。

  • その他の連続するアスタリスクは無効と見なされます。

    グロブマジックはリテラルマジックとは互換性がありません。

属性

attr: の後には、スペースで区切られた「属性要件」のリストが続きます。パスが一致と見なされるためには、これらの要件すべてを満たす必要があります。これは、通常のマジックなしパススペックパターンマッチングに加えて行われます。gitattributes[5] を参照してください。

パスの各属性要件は、次のいずれかの形式を取ります。

  • ATTR」は、属性 ATTR が設定されていることを要求します。

  • -ATTR」は、属性 ATTR が設定されていないことを要求します。

  • ATTR=VALUE」は、属性 ATTR が文字列 VALUE に設定されていることを要求します。

  • !ATTR」は、属性 ATTR が指定されていないことを要求します。

    ツリーオブジェクトと照合する場合でも、属性は作業ツリーから取得され、与えられたツリーオブジェクトからは取得されないことに注意してください。

除外

パスが除外されていないパススペックに一致した後、すべての除外パススペック(マジックシグネチャ:! またはその同義語 ^)を通過します。一致した場合、パスは無視されます。除外されていないパススペックがない場合、除外はパススペックなしで呼び出されたかのように結果セットに適用されます。

コミットオブジェクトは、開発ラインにおける論理的な先行者(つまり、その親)の(空の可能性のある)リストを含みます。

剥がす

タグオブジェクトを再帰的にデリファレンスする動作。

ピッケル

「ピッケル」という用語は、特定のテキスト文字列を追加または削除する変更を選択するのに役立つdiffcoreルーチンへのオプションを指します。--pickaxe-all オプションを使用すると、特定のテキスト行を導入または削除した完全なチェンジセットを表示するために使用できます。git-diff[1] を参照してください。

配管(プラミング)

コア Git の可愛い名前。

ポーセリン

コア Git に依存するプログラムやプログラムスイートの可愛い名前で、コア Git への高レベルなアクセスを提供します。ポーセリンは、配管よりもSCMインターフェースの多くを公開しています。

ワークツリーごとの参照

グローバルではなく、ワークツリーごとの参照です。現在はHEADrefs/bisect/で始まる参照のみですが、将来的には他の特殊な参照も含まれる可能性があります。

疑似参照

通常の参照とは異なるセマンティクスを持つ参照。これらの参照は通常のGitコマンドで読み取ることができますが、git-update-ref[1]などのコマンドで書き込むことはできません。

Git に知られている擬似参照は次のとおりです

  • FETCH_HEADgit-fetch[1] または git-pull[1] によって書き込まれます。複数のオブジェクト ID を参照する場合があります。各オブジェクト ID には、どこからフェッチされたか、そのフェッチステータスを示すメタデータが注釈として付けられています。

  • MERGE_HEAD は、マージ競合を解決するときに git-merge[1] によって書き込まれます。マージされているすべてのコミット ID が含まれます。

プル

ブランチをプルするとは、そのブランチをフェッチしてマージすることです。git-pull[1]も参照してください。

プッシュ

ブランチをプッシュするとは、リモートリポジトリからブランチのヘッド参照を取得し、それがブランチのローカルヘッド参照の祖先であるかどうかを判断し、その場合、ローカルヘッド参照から到達可能で、リモートリポジトリに存在しないすべてのオブジェクトをリモートオブジェクトデータベースに入れ、リモートヘッド参照を更新することです。リモートヘッドがローカルヘッドの祖先でない場合、プッシュは失敗します。

到達可能

あるコミットのすべての祖先は、そのコミットから「到達可能」であると言われます。より一般的には、あるオブジェクトから別のオブジェクトへ、タグが指すもの、コミットがその親またはツリー、ツリーがその中に含まれるツリーまたはブロブへと辿るチェーンを介して到達できる場合、そのオブジェクトは別のオブジェクトから到達可能であると言われます。

到達可能性ビットマップ

到達可能性ビットマップは、パックファイル内、またはマルチパックインデックス (MIDX) 内で選択されたコミットセットの到達可能性に関する情報を格納し、オブジェクト検索を高速化します。ビットマップは ".bitmap" ファイルに保存されます。リポジトリは最大1つのビットマップファイルを使用できます。ビットマップファイルは、単一のパック、またはリポジトリのマルチパックインデックス (存在する場合) のいずれかに属します。

リベース

ブランチからの変更のシリーズを別のベースに再適用し、そのブランチのヘッドを結果にリセットすること。

参照

オブジェクト名または別の参照を指す名前(後者はシンボリック参照と呼ばれる)。便宜上、Gitコマンドの引数として使用される場合、参照は省略されることがあります。詳細はgitrevisions[7]を参照してください。参照はリポジトリに保存されます。

ref の名前空間は階層的です。ref の名前は refs/ で始まるか、階層のルートに配置されている必要があります。後者の場合、その名前は次のルールに従う必要があります。

  • 名前はすべて大文字またはアンダースコアのみで構成されます。

  • 名前は「_HEAD」で終わるか、「HEAD」と等しくなければなりません。

    これらのルールに一致しない、階層のルートにある不規則な参照がいくつかあります。以下のリストは網羅的であり、将来拡張されることはありません。

  • AUTO_MERGE

  • BISECT_EXPECTED_REV

  • NOTES_MERGE_PARTIAL

  • NOTES_MERGE_REF

  • MERGE_AUTOSTASH

    異なるサブ階層は異なる目的で使用されます。たとえば、refs/heads/ 階層はローカルブランチを表すために使用され、refs/tags/ 階層はローカルタグを表すために使用されます。

リフログ

リフログは、参照のローカルな「履歴」を示します。言い換えれば、このリポジトリで3つ前のリビジョンが何であったか、昨日午後9時14分にこのリポジトリの現在の状態が何であったかを知ることができます。詳細はgit-reflog[1]を参照してください。

リフスペック

「refspec」はフェッチプッシュによって、リモート参照とローカル参照間のマッピングを記述するために使用されます。詳細はgit-fetch[1]またはgit-push[1]を参照してください。

リモートリポジトリ

同じプロジェクトを追跡するために使用されるが、別の場所に存在するリポジトリ。リモートとの通信については、フェッチまたはプッシュを参照してください。

リモートトラッキングブランチ

別のリポジトリからの変更を追跡するために使用される参照。通常はrefs/remotes/foo/bar(リモートfoobarというブランチを追跡していることを示す)のように見え、設定されたフェッチリフスペックの右辺と一致します。リモートトラッキングブランチには、直接的な変更やローカルコミットを含めるべきではありません。

リポジトリ

参照の集合と、参照から到達可能なすべてのオブジェクトを含むオブジェクトデータベース。場合によっては、1つ以上のポーセリンからのメタデータが付属しています。リポジトリは、代替メカニズムを介して他のリポジトリとオブジェクトデータベースを共有できます。

解決

失敗した自動マージが残したものを手動で修正するアクション。

リビジョン

コミット(名詞)の同義語。

巻き戻し

開発の一部を破棄すること、つまりヘッドを以前のリビジョンに割り当てること。

SCM

ソースコード管理(ツール)。

SHA-1

「Secure Hash Algorithm 1」; 暗号学的ハッシュ関数。Git の文脈ではオブジェクト名の同義語として使用されます。

シャロークローン

ほとんどシャローリポジトリの同義語ですが、この表現は git clone --depth=... コマンドを実行して作成されたことをより明確に示しています。

シャローリポジトリ

シャローリポジトリは不完全な履歴を持ち、そのコミットの中にはが切り捨てられているものがあります(言い換えれば、Gitはこれらのコミットには親がないと見せかけます。実際にはコミットオブジェクトに記録されているにもかかわらず)。これは、アップストリームに記録されている実際の履歴がはるかに大きい場合でも、プロジェクトの最近の履歴にのみ関心がある場合に役立つことがあります。シャローリポジトリはgit-clone[1]--depthオプションを付けて作成され、その履歴は後でgit-fetch[1]で深めることができます。

スタッシュエントリ

ダーティな作業ディレクトリとインデックスの内容を一時的に保存し、将来再利用するためのオブジェクト

サブモジュール

別のリポジトリ(後者はスーパープロジェクトと呼ばれる)の中に、別のプロジェクトの履歴を保持するリポジトリ

スーパープロジェクト

作業ツリー内に他のプロジェクトのリポジトリをサブモジュールとして参照するリポジトリ。スーパープロジェクトは、含まれるサブモジュールのコミットオブジェクトの名前を知っていますが(コピーは保持しません)。

シンボリック参照

SHA-1 ID そのものを含まず、ref: refs/some/thing の形式で、参照されるとこの参照を再帰的にデリファレンスする。HEAD がシンボリック参照の代表例。git-symbolic-ref[1] コマンドでシンボリック参照を操作する。

タグ

refs/tags/ 名前空間の下にある参照で、任意の型のオブジェクトを指します(通常、タグはタグまたはコミットオブジェクトのいずれかを指します)。ヘッドとは対照的に、タグはcommitコマンドによって更新されません。GitタグはLispタグ(Gitの文脈ではオブジェクト型と呼ばれるでしょう)とは関係ありません。タグは通常、コミット祖先チェーン内の特定のポイントをマークするために使用されます。

タグオブジェクト

別のオブジェクトを指す参照を含み、コミットオブジェクトと同様にメッセージを含めることができるオブジェクト。PGP署名を含めることもでき、その場合は「署名付きタグオブジェクト」と呼ばれます。

トピックブランチ

開発者が概念的な開発ラインを識別するために使用する通常のGitブランチ。ブランチは非常に簡単で安価であるため、それぞれが非常によく定義された概念または小さな増分的だが関連する変更を含む複数の小さなブランチを持つことが望ましいことがよくあります。

トレーラー

キーと値のメタデータ。トレーラーはオプションでコミットメッセージの最後に記載されます。他のコミュニティでは「フッター」または「タグ」と呼ばれることもあります。git-interpret-trailers[1] を参照してください。

ツリー

作業ツリー、または依存するブロブオブジェクトとツリーオブジェクトを含むツリーオブジェクト(つまり、作業ツリーの保存された表現)。

ツリーオブジェクト

ファイル名とモードのリスト、および関連するブロブオブジェクトやツリーオブジェクトへの参照を含むオブジェクトツリーディレクトリと同じです。

ツリーっぽい (ツリーイッシュとも)

ツリーオブジェクト、またはツリーオブジェクトに再帰的にデリファレンスできるオブジェクトコミットオブジェクトをデリファレンスすると、リビジョンの最上位ディレクトリに対応するツリーオブジェクトが得られます。以下のすべてがツリーっぽいものです:コミットっぽい、ツリーオブジェクト、ツリーオブジェクトを指すタグオブジェクト、ツリーオブジェクトを指すタグオブジェクトを指すタグオブジェクトなど。

未作成

HEADはまだ存在せず、まだコミットもされていないブランチを指すことができ、そのようなブランチは未作成ブランチと呼ばれます。ユーザーが未作成ブランチに遭遇する最も一般的な方法は、他の場所からクローンせずにリポジトリを新規作成することです。HEADは、まだ作成されていないmain(または構成によってはmaster)ブランチを指します。また、一部の操作ではorphanオプションを使用して未作成ブランチに入ることができます。

未マージインデックス

未マージのインデックスエントリを含むインデックス

到達不能オブジェクト

ブランチタグ、またはその他の参照から到達不能オブジェクト

アップストリームブランチ

問題のブランチにマージされる(または問題のブランチがリベースされる)デフォルトのブランチ。これは branch.<name>.remote と branch.<name>.merge で設定されます。A のアップストリームブランチが origin/B の場合、時々「Aorigin/B を追跡している」と言います。

作業ツリー

実際にチェックアウトされたファイルのツリー。作業ツリーには通常、HEADコミットのツリーの内容と、まだコミットしていないローカルの変更が含まれています。

ワークツリー

リポジトリにはゼロ(ベアリポジトリの場合)または1つ以上のワークツリーがアタッチされています。1つの「ワークツリー」は、「作業ツリー」とリポジトリのメタデータで構成されており、そのほとんどは単一リポジトリの他のワークツリーと共有され、一部はワークツリーごとに個別に管理されます(例:インデックス、HEAD、MERGE_HEADのような疑似参照、ワークツリーごとの参照、ワークツリーごとの設定ファイル)。

GIT

git[1]スイートの一部

scroll-to-top