セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバ管理
- 2.46.1 → 2.47.0 変更なし
-
2.46.0
07/29/24
- 2.44.1 → 2.45.2 変更なし
-
2.44.0
02/23/24
- 2.43.2 → 2.43.5 変更なし
-
2.43.1
02/09/24
-
2.43.0
11/20/23
- 2.39.1 → 2.42.3 変更なし
-
2.39.0
12/12/22
- 2.36.1 → 2.38.5 変更なし
-
2.36.0
04/18/22
- 2.33.1 → 2.35.8 変更なし
-
2.33.0
08/16/21
- 2.30.1 → 2.32.7 変更なし
-
2.30.0
12/27/20
- 2.23.1 → 2.29.3 変更なし
-
2.23.0
08/16/19
- 2.22.1 → 2.22.5 変更なし
-
2.22.0
06/07/19
- 2.21.1 → 2.21.4 変更なし
-
2.21.0
02/24/19
- 2.19.1 → 2.20.5 変更なし
-
2.19.0
09/10/18
- 2.18.1 → 2.18.5 変更なし
-
2.18.0
06/21/18
- 2.15.4 → 2.17.6 変更なし
-
2.14.6
12/06/19
-
2.13.7
05/22/18
-
2.12.5
09/22/17
- 2.9.5 → 2.11.4 変更なし
-
2.8.6
07/30/17
-
2.7.6
07/30/17
-
2.6.7
05/05/17
- 2.5.6 変更なし
-
2.4.12
05/05/17
- 2.3.10 変更なし
-
2.2.3
09/04/15
- 2.1.4 変更なし
-
2.0.5
12/17/14
説明
- 代替オブジェクトデータベース
-
代替メカニズムにより、リポジトリは、そのオブジェクトデータベースの一部を別のオブジェクトデータベース(「代替」と呼ばれる)から継承できます。
- ベアリポジトリ
-
ベアリポジトリは通常、適切な名前のディレクトリで、`.git` サフィックスを持ち、バージョン管理下のファイルのローカルチェックアウトコピーがありません。つまり、通常は隠し`.git` サブディレクトリにあるすべてのGit管理ファイルと制御ファイルは、代わりに`repository.git` ディレクトリに直接存在し、他のファイルは存在せず、チェックアウトされていません。通常、公開リポジトリの発行者はベアリポジトリを提供します。
- BLOBオブジェクト
-
型なしのオブジェクト、例えばファイルの内容。
- ブランチ
-
「ブランチ」は開発ラインです。ブランチの最新のコミットは、そのブランチの先端と呼ばれます。ブランチの先端は、ブランチヘッドによって参照され、ブランチで追加の開発が行われると前に進みます。単一のGit リポジトリは任意の数のブランチを追跡できますが、あなたの作業ツリーはそれらのうちの1つ(「現在の」または「チェックアウトされた」ブランチ)に関連付けられており、HEADはそのブランチを指します。
- キャッシュ
-
インデックスに対して廃止。
- チェーン
-
オブジェクトのリストで、リスト内の各オブジェクトには、その次のオブジェクトへの参照が含まれています(たとえば、コミットの次のオブジェクトは、その親の1つになる可能性があります)。
- 変更セット
-
BitKeeper/cvsps では「コミット」を意味します。Gitは変更を保存するのではなく状態を保存するため、「変更セット」という用語をGitで使用するのは実際には意味がありません。
- チェックアウト
-
オブジェクトデータベースからツリーオブジェクトまたはBLOBを使用して作業ツリーのすべてまたは一部を更新し、全体の作業ツリーが新しいブランチを指している場合、インデックスとHEADを更新する操作。
- チェリーピック
-
SCMの専門用語では、「チェリーピック」とは、一連の変更(通常はコミット)から変更のサブセットを選択し、異なるコードベースの上に新しい一連の変更として記録することを意味します。Gitでは、これは「git cherry-pick」コマンドによって実行され、既存のコミットによって導入された変更を抽出し、現在のブランチの先頭に基づいて新しいコミットとして記録します。
- クリーン
-
作業ツリーは、現在のヘッドによって参照されるリビジョンに対応している場合、クリーンです。「ダーティ」も参照してください。
- コミット
-
名詞として:Git履歴内の単一ポイント。プロジェクト全体の履歴は、相互に関連するコミットのセットとして表されます。「コミット」という単語は、他のリビジョン管理システムが「リビジョン」または「バージョン」という単語を使用する場所と同じ場所でGitによって頻繁に使用されます。コミットオブジェクトの略語としても使用されます。
- コミットグラフの概念、表現、使用方法
-
オブジェクトデータベース内のコミットによって形成されたDAG構造の同義語で、ブランチの先端によって参照され、リンクされたコミットのチェーンを使用します。この構造は決定的なコミットグラフです。グラフは他の方法で表現することもできます(例:「commit-graph」ファイル)。
- commit-graphファイル
-
「commit-graph」(通常はハイフン付き)ファイルは、コミットグラフの補足的な表現であり、コミットグラフのウォークを高速化します。「commit-graph」ファイルは、.git/objects/infoディレクトリまたは代替オブジェクトデータベースのinfoディレクトリに格納されます。
- コミットオブジェクト
-
オブジェクトで、特定のリビジョンに関する情報(親、コミッター、作成者、日付、および保存されたリビジョンの最上位ディレクトリに対応するツリーオブジェクトなど)が含まれています。
- コミット-ish(コミットティッシュともいう)
-
コミットオブジェクトまたは再帰的に逆参照してコミットオブジェクトにすることができるオブジェクト。以下はすべてコミット-ishです。コミットオブジェクト、コミットオブジェクトを指すタグオブジェクト、コミットオブジェクトを指すタグオブジェクトを指すタグオブジェクトなど。
- コアGit
-
Gitの基本的なデータ構造とユーティリティ。ソースコード管理ツールは限定的にしか公開していません。
- DAG
-
有向非巡回グラフ。コミットオブジェクトは、親(有向)を持ち、コミットオブジェクトのグラフは非巡回(同じオブジェクトで始まり終わるチェーンはない)ため、有向非巡回グラフを形成します。
- ぶら下がりオブジェクト
-
他の到達不能オブジェクトからも到達可能ではない到達不能オブジェクト。ぶら下がりオブジェクトには、リポジトリ内のどの参照やオブジェクトからも参照がありません。
- 逆参照
-
シンボリック参照を参照する場合:シンボリック参照によって指される参照にアクセスする操作。再帰的な逆参照には、非シンボリック参照が見つかるまで、結果の参照に対して前述のプロセスを繰り返すことが含まれます。
タグオブジェクトを参照する場合:タグが指すオブジェクトにアクセスする操作。タグは、結果オブジェクトに対して操作を繰り返すことで再帰的に逆参照され、結果が指定されたオブジェクトタイプ(該当する場合)または任意の「タグ」以外のオブジェクトタイプを持つまでになります。タグのコンテキストでの「再帰的逆参照」の同義語は「ピール」です。
コミットオブジェクトを参照する場合:コミットのツリーオブジェクトにアクセスする操作。コミットは再帰的に逆参照できません。
特に指定がない限り、Gitコマンドまたはプロトコルのコンテキストで使用される「逆参照」は暗黙的に再帰的です。
- デタッチされたHEAD
-
通常、HEADはブランチの名前を格納しており、履歴を操作するコマンドは、HEADが指すブランチの先端につながる履歴を操作します。しかし、Gitでは、必ずしも特定のブランチの先端ではない任意のコミットをチェックアウトすることもできます。このような状態のHEADは「デタッチ済み」と呼ばれます。
HEADがデタッチされている場合でも、現在のブランチの履歴を操作するコマンド(例:その上に新しい履歴を作成する
git commit
)は引き続き機能します。これらのコマンドは、ブランチに影響を与えることなく、HEADを更新された履歴の先端を指すように更新します。現在のブランチに関する情報を更新または問い合わせるコマンド(例:現在のブランチが統合するリモート追跡ブランチを設定するgit branch --set-upstream-to
)は、この状態では問い合わせる(実際の)現在のブランチがないため、明らかに機能しません。 - ディレクトリ
-
"ls"で取得できるリスト :-)
- ダーティ(変更済み)
- 不正なマージ
- 高速フォワード
-
高速フォワードは、リビジョンがあり、現在持っているリビジョンの子孫である別のブランチの変更を「マージ」する特殊なタイプのマージです。このような場合、新しいマージコミットを作成するのではなく、マージしているブランチと同じリビジョンを指すようにブランチを更新します。これは、リモートリポジトリのリモート追跡ブランチで頻繁に発生します。
- フェッチ
-
ブランチをフェッチするとは、リモートリポジトリからブランチのヘッド参照を取得し、ローカルのオブジェクトデータベースに欠けているオブジェクトを特定し、それらも取得することです。git-fetch[1]も参照してください。
- ファイルシステム
-
Linus Torvaldsは当初、Gitをユーザースペースファイルシステム、つまりファイルとディレクトリを保持するためのインフラストラクチャとして設計しました。これにより、Gitの効率性と速度が確保されました。
- Gitアーカイブ
-
(アーカイバの人々にとって)リポジトリの同義語。
- gitファイル
-
作業ツリーのルートにあるプレーンファイル
.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とも呼ばれます。
- オブジェクトタイプ
- オクトパス
- 孤児(親のないコミット)
-
まだ存在しないブランチ(つまり、未生成のブランチ)に移動すること。このような操作の後、最初に作成されたコミットは親のないコミットになり、新しい履歴が始まります。
- origin
-
デフォルトの上流リポジトリ。ほとんどのプロジェクトには、少なくとも1つ追跡している上流プロジェクトがあります。デフォルトで、その目的にはoriginが使用されます。新しい上流の更新は、
git branch -r
を使用して確認できるorigin/上流ブランチ名というリモート追跡ブランチにフェッチされます。 - オーバーレイ
-
作業ディレクトリにファイルの更新と追加のみを行い、削除は行いません。これは、cp -Rが宛先ディレクトリの内容を更新する方法に似ています。インデックスまたはツリーishからファイルをチェックアウトする場合、チェックアウトにおけるデフォルトモードです。対照的に、オーバーレイなしモードでは、ソースに存在しない追跡対象ファイルも削除されます。これは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個以上の「マジックシグネチャ」文字(オプションで別のコロン:
で終了)が続き、残りがパスと照合するパターンになります。「マジックシグネチャ」は、英数字、glob、正規表現の特殊文字、コロンいずれでもないASCII文字で構成されます。「マジックシグネチャ」を終了するオプションのコロンは、パターンが「マジックシグネチャ」の文字集合に属さない文字で始まり、コロンでもない場合は省略できます。長縮形では、先頭の
:
の後に開き括弧(
、0個以上の「マジックワード」のカンマ区切りリスト、閉じ括弧)
が続き、残りがパスと照合するパターンになります。コロンのみのパススペックは「パススペックなし」を意味します。この形式は他のパススペックと組み合わせることはできません。
- top
-
マジックワード
top
(マジックシグネチャ:/
)は、サブディレクトリ内からコマンドを実行している場合でも、パターンが作業ツリーのルートから一致するようにします。 - literal
-
*
や?
などのパターン内のワイルドカードは、リテラル文字として扱われます。 - icase
-
大文字と小文字を区別しないマッチング。
- glob
-
Gitは、FNM_PATHNAMEフラグを使用してfnmatch(3)で処理するのに適したシェルglobとしてパターンを扱います。パターン内のワイルドカードは、パス名内の/と一致しません。たとえば、「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
」などといったパターンと一致します。 -
その他の連続するアスタリスクは無効とみなされます。
Globマジックはリテラルマジックと互換性がありません。
-
- attr
-
attr:
の後に、「属性要件」のスペース区切りリストが続きます。パスが一致と見なされるためには、すべての要件を満たす必要があります。これは、通常の非マジックパススペックパターンマッチングに加えてのことです。gitattributes[5]を参照してください。パスの属性要件は、次のいずれかの形式を取ります。
-
"
ATTR
"は、属性ATTR
が設定されている必要があることを意味します。 -
"
-ATTR
"は、属性ATTR
が設定されていない必要があることを意味します。 -
"
ATTR=VALUE
"は、属性ATTR
が文字列VALUE
に設定されている必要があることを意味します。 -
"
!ATTR
"は、属性ATTR
が未指定である必要があることを意味します。ツリーオブジェクトと照合する場合、属性は指定されたツリーオブジェクトではなく、作業ツリーから取得されることに注意してください。
-
- exclude
-
パスが非除外パススペックと一致した後、すべての除外パススペック(マジックシグネチャ:
!
または同義語^
)で処理されます。一致した場合、パスは無視されます。非除外パススペックがない場合、除外はパススペックなしで呼び出されたかのように結果セットに適用されます。
-
- parent
-
コミットオブジェクトには、開発ラインにおける論理的な先行オブジェクト(親)のリスト(空の場合もある)が含まれています。
- peel
- pickaxe
-
pickaxeという用語は、特定のテキスト文字列を追加または削除する変更を選択するのに役立つdiffcoreルーチンに対するオプションを指します。
--pickaxe-all
オプションを使用すると、特定のテキスト行の追加または削除を行った完全な変更セットを表示するために使用できます。git-diff[1]を参照してください。 - plumbing
-
コアGitのかわいい名前。
- porcelain
-
コアGitに依存するプログラムとプログラムスイートのかわいい名前で、コアGitへの高レベルアクセスを提供します。Porcelainは、plumbingよりもSCMインターフェースを多く公開します。
- per-worktree ref
-
グローバルではなく、作業ツリーごとの参照。現時点では、HEADと
refs/bisect/
で始まる参照のみですが、後で他の特殊な参照が含まれる可能性があります。 - pseudoref
-
通常の参照とは異なるセマンティクスを持つ参照。これらの参照は通常のGitコマンドで読み取ることができますが、git-update-ref[1]などのコマンドで書き込むことはできません。
Gitで認識されている疑似参照を以下に示します。
-
FETCH_HEAD
は、git-fetch[1]またはgit-pull[1]によって書き込まれます。複数のオブジェクトIDを参照する場合があります。各オブジェクトIDには、フェッチ元の場所とフェッチステータスを示すメタデータが付加されます。 -
MERGE_HEAD
は、マージの競合を解決するときにgit-merge[1]によって書き込まれます。マージされているすべてのコミットIDが含まれています。
-
- pull
-
ブランチをプルするとは、それをフェッチしてマージすることです。git-pull[1]も参照してください。
- push
-
ブランチをプッシュするとは、リモートリポジトリからブランチのヘッド参照を取得し、それがブランチのローカルヘッド参照の祖先であるかどうかを確認し、その場合、ローカルヘッド参照から到達可能であり、リモートリポジトリに存在しないすべてのオブジェクトをリモートオブジェクトデータベースに入れ、リモートヘッド参照を更新することです。リモートヘッドがローカルヘッドの祖先ではない場合、プッシュは失敗します。
- reachable
-
指定されたコミットのすべての祖先は、そのコミットから「到達可能」であると言われます。より一般的には、タグをタグ付けされているものに、コミットをその親またはツリーに、ツリーをそれらが含むツリーまたはブロブにたどるチェーンによって、一方のオブジェクトからもう一方のオブジェクトに到達できる場合、一方のオブジェクトは他方から到達可能です。
- reachability bitmaps
-
到達可能性ビットマップは、パックファイルまたはマルチパックインデックス(MIDX)内の選択されたコミットセットの到達可能性に関する情報を格納して、オブジェクト検索の速度を向上させます。ビットマップは".bitmap"ファイルに格納されます。リポジトリで使用できるビットマップファイルは、最大1つです。ビットマップファイルは、1つのパック、またはリポジトリのマルチパックインデックス(存在する場合)のいずれかに属している可能性があります。
- rebase
- ref
-
オブジェクト名または別の参照を指す名前(後者はシンボリック参照と呼ばれます)。便宜上、参照はGitコマンドの引数として使用する場合、短縮されることがあります。詳細については、gitrevisions[7]を参照してください。参照はリポジトリに格納されます。
参照の名前空間は階層構造です。参照名は
refs/
で始まるか、階層のルートに配置する必要があります。後者の場合、名前は次のルールに従う必要があります。-
名前は大文字のみまたはアンダースコアで構成されます。
-
名前は"
_HEAD
"で終わるか、"HEAD
"と等しくなります。これらのルールに一致しない階層のルートにいくつかの不規則な参照があります。次のリストは網羅的であり、将来拡張されることはありません。
-
AUTO_MERGE
-
BISECT_EXPECTED_REV
-
NOTES_MERGE_PARTIAL
-
NOTES_MERGE_REF
-
MERGE_AUTOSTASH
異なるサブ階層は、異なる目的に使用されます。たとえば、
refs/heads/
階層はローカルブランチを表すために使用され、refs/tags/
階層はローカルタグを表すために使用されます。
-
- reflog
-
reflogは、参照のローカル「履歴」を示します。つまり、このリポジトリの3番目に古いリビジョンが何であったか、そして昨日の午後9時14分にこのリポジトリの現在の状態がどうであったかを教えてくれます。詳細については、git-reflog[1]を参照してください。
- refspec
-
「refspec」は、フェッチとプッシュによって、リモート参照とローカル参照間のマッピングを記述するために使用されます。git-fetch[1]またはgit-push[1]を参照してください。
- remote repository
-
同じプロジェクトの追跡に使用されるが、別の場所に存在するリポジトリ。リモートとの通信については、フェッチまたはプッシュを参照してください。
- remote-tracking branch
-
別のリポジトリからの変更を追跡するために使用される参照。通常、refs/remotes/foo/barのように見えます(リモート名fooにあるbarという名前のブランチを追跡していることを示しています)。これは、構成されたフェッチrefspecの右側と一致します。リモート追跡ブランチには、直接的な変更を含めたり、ローカルコミットを作成したりしないでください。
- repository
-
参照のコレクションと、参照から到達可能なすべてのオブジェクトを含むオブジェクトデータベース、1つ以上のporcelainからのメタデータが付属している場合があります。リポジトリは、代替メカニズムを介して、他のリポジトリとオブジェクトデータベースを共有できます。
- resolve
-
自動的なマージが失敗した際に残された問題を手動で解決すること。
- revision
-
コミット(名詞)の同義語。
- rewind
- SCM
-
ソースコード管理(ツール)。
- SHA-1
-
"Secure Hash Algorithm 1";暗号学的ハッシュ関数。Gitのコンテキストではオブジェクト名の同義語として使用される。
- shallow clone
-
ほとんどの場合浅いリポジトリの同義語だが、この語句を使用することで`git clone --depth=...`コマンドによって作成されたものであることがより明確になる。
- shallow repository
-
浅いリポジトリは、不完全な履歴を持ち、その一部のコミットの親が切り離されている(言い換えれば、これらのコミットには親が存在しないとGitに伝えられる。たとえそれらがコミットオブジェクトに記録されているとしても)。これは、実際の履歴が上流でより大きく記録されている場合でも、プロジェクトの最近の履歴のみに興味がある場合に役立つことがある。浅いリポジトリはgit-clone[1]に`--depth`オプションを指定して作成され、その履歴は後でgit-fetch[1]で深めることができる。
- stash entry
- submodule
-
別のプロジェクトの履歴を保持するリポジトリで、別のリポジトリ(後者はスーパープロジェクトと呼ばれる)の中に存在する。
- superproject
-
リポジトリで、その作業ツリー内の他のプロジェクトのリポジトリをサブモジュールとして参照する。スーパープロジェクトは、含まれるサブモジュールのコミットオブジェクトの名前について知っているが、そのコピーは保持していない。
- symref
-
シンボリック参照:SHA-1 ID自体を含まない代わりに、`ref: refs/some/thing`という形式で、参照されると、この参照に再帰的にデリファレンスされる。HEADはsymrefの代表的な例である。シンボリック参照はgit-symbolic-ref[1]コマンドで操作される。
- tag
-
`refs/tags/`名前空間の下にあるrefで、任意のタイプのオブジェクトを指す(通常、タグはタグオブジェクトまたはコミットオブジェクトを指す)。ヘッドとは異なり、タグは`commit`コマンドによって更新されない。GitのタグはLispのタグとは関係ない(Gitのコンテキストではオブジェクトタイプと呼ばれる)。タグは、コミットの祖先のチェーン内の特定の点をマークするために最も一般的に使用される。
- tag object
-
オブジェクトで、別のオブジェクトを指すrefを含み、コミットオブジェクトのようにメッセージを含めることができる。また、(PGP)署名を含めることができ、その場合は「署名付きタグオブジェクト」と呼ばれる。
- topic branch
-
開発者が概念的な開発ラインを識別するために使用する通常のGitブランチ。ブランチは非常に簡単で安価であるため、それぞれが明確に定義された概念または小さく増分的な関連する変更を含むいくつかの小さなブランチを持つことが多くの場合望ましい。
- tree
- tree object
-
オブジェクトで、ファイル名とモードのリストと、関連付けられたblobおよび/またはツリーオブジェクトへのrefが含まれる。ツリーはディレクトリに相当する。
- tree-ish (also treeish)
-
ツリーオブジェクトまたはオブジェクトで、再帰的にデリファレンスしてツリーオブジェクトにすることができる。コミットオブジェクトのデリファレンスは、リビジョンの最上位ディレクトリに対応するツリーオブジェクトを生成する。以下はすべてtree-ishである。commit-ish、ツリーオブジェクト、ツリーオブジェクトを指すタグオブジェクト、ツリーオブジェクトを指すタグオブジェクトを指すタグオブジェクトなど。
- unborn
-
HEADはまだ存在せず、コミットがまだないブランチを指すことができ、そのようなブランチは未作成ブランチと呼ばれる。ユーザーが未作成ブランチに遭遇する最も典型的な方法は、他の場所からクローンすることなく新しいリポジトリを作成することである。HEADは、まだ作成されていない`main`(または構成によっては`master`)ブランチを指す。また、一部の操作では、それらの孤児オプションを使用して、未作成ブランチにアクセスできる。
- unmerged index
-
マージされていないインデックスエントリを含むインデックス。
- unreachable object
- upstream branch
-
対象のブランチにマージされる(または対象のブランチがリベースされる)デフォルトのブランチ。branch.<name>.remoteとbranch.<name>.mergeで設定される。Aの上流ブランチがorigin/Bの場合、時々「Aはorigin/Bをトラッキングしている」と言う。
- working tree
-
実際にチェックアウトされたファイルのツリー。作業ツリーは通常、HEADコミットのツリーの内容と、まだコミットされていないローカルな変更を含む。
- worktree
-
リポジトリには、0個(つまり、ベアリポジトリ)または1個以上のworktreeを接続できる。1つの「worktree」は「working tree」とリポジトリのメタデータで構成され、そのほとんどは単一のリポジトリの他のworktree間で共有され、その一部はworktreeごとに個別に維持される(例:インデックス、HEAD、MERGE_HEADなどの擬似参照、worktreeごとの参照、worktreeごとの構成ファイル)。
GIT
git[1]スイートの一部