セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 2.46.1 → 2.49.0 変更なし
-
2.46.0
2024-07-29
- 2.44.1 → 2.45.3 変更なし
-
2.44.0
2024-02-23
- 2.39.1 → 2.43.6 変更なし
-
2.39.0
2022-12-12
- 2.38.1 → 2.38.5 変更なし
-
2.38.0
2022-10-02
- 2.30.1 → 2.37.7 変更なし
-
2.30.0
2020-12-27
- 2.29.1 → 2.29.3 変更なし
-
2.29.0
2020-10-19
- 2.28.1 変更なし
-
2.28.0
2020-07-27
- 2.27.1 変更なし
-
2.27.0
2020-06-01
- 2.26.1 → 2.26.3 変更なし
-
2.26.0
2020-03-22
- 2.25.1 → 2.25.5 変更なし
- 2.25.0 変更なし
- 2.24.1 → 2.24.4 変更なし
-
2.24.0
2019-11-04
- 2.23.1 → 2.23.4 変更なし
-
2.23.0
2019-08-16
- 2.19.3 → 2.22.5 変更なし
-
2.19.2
2018-11-21
- 2.19.1 変更なし
-
2.19.0
2018-09-10
- 2.18.1 → 2.18.5 変更なし
-
2.18.0
2018-06-21
概要
git commit-graph verify [--object-dir <dir>] [--shallow] [--[no-]progress] git commit-graph write [--object-dir <dir>] [--append] [--split[=<strategy>]] [--reachable | --stdin-packs | --stdin-commits] [--changed-paths] [--[no-]max-new-filters <n>] [--[no-]progress] <split-options>
オプション
- --object-dir
-
パックファイルとコミットグラフファイルの場所として、指定されたディレクトリを使用します。このパラメータは、完全な
.git
ディレクトリではなく、オブジェクトディレクトリのみを持つ代替の場所を指定するために存在します。コミットグラフファイルは<dir>/info
ディレクトリに、パックファイルは<dir>/pack
にあることが期待されます。ディレクトリが絶対パスにできない場合、または既知のオブジェクトディレクトリと一致しない場合、git commit-graph ...
はゼロ以外のステータスで終了します。 - --[no-]progress
-
明示的にプログレス表示をオン/オフします。どちらも指定されていない場合、標準エラーがターミナルに接続されていればプログレス表示が行われます。
コマンド
- write
-
パックファイル内のコミットに基づいてコミットグラフファイルを書き込みます。設定オプション
core.commitGraph
が無効になっている場合、このコマンドは警告を出力し、コミットグラフファイルを書き込まずに成功を返します。--stdin-packs
オプションを使用すると、指定されたパックインデックス内のオブジェクトのみを辿って新しいコミットグラフを生成します。(--stdin-commits
または--reachable
とは組み合わせられません。)--stdin-commits
オプションを使用すると、標準入力で1行に1つのOIDの16進数リストとして指定されたコミットから開始してコミットを辿ることで、新しいコミットグラフを生成します。非コミットに解決されるOID (直接的またはタグを剥がすことによって) は黙って無視されます。形式が不正なOID、または存在しないOIDはエラーを生成します。(--stdin-packs
または--reachable
とは組み合わせられません。)--reachable
オプションを使用すると、すべての参照から開始してコミットを辿ることで、新しいコミットグラフを生成します。(--stdin-commits
または--stdin-packs
とは組み合わせられません。)--append
オプションを使用すると、既存のコミットグラフファイルに存在するすべてのコミットを含めます。--changed-paths
オプションを使用すると、コミットとその最初の親の間で変更されたパスに関する情報を計算して書き込みます。この操作は大規模なリポジトリでは時間がかかる場合があります。git log -- <path>
を使用してディレクトリやファイルの履歴を取得する際に、大幅なパフォーマンス向上をもたらします。このオプションが指定された場合、将来のコミットグラフの書き込みは、このオプションが意図されたものであると自動的に仮定します。このデータの保存を停止するには、--no-changed-paths
を使用します。--max-new-filters=<n>
オプションを使用すると、(--changed-paths
が指定されている場合) 最大n
個の新しいブルームフィルターを生成します。n
が-1
の場合、制限は適用されません。新しいレイヤーに存在するコミットのみがこの制限に計上されます。以前のレイヤーに対して遡及的にブルームフィルターを計算するには、--split=replace
を使用することをお勧めします。commitGraph.maxNewFilters
設定を上書きします。--split[=<strategy>]
オプションを使用すると、コミットグラフを複数のコミットグラフファイルのチェーンとして<dir>/info/commit-graphs
に保存します。コミットグラフのレイヤーは、戦略と他の分割オプションに基づいてマージされます。コミットグラフにまだ存在しない新しいコミットは、新しい「先端 (tip)」ファイルに追加されます。このファイルは、以下のマージ条件が満たされた場合に既存のファイルとマージされます。-
--split=no-merge
が指定されている場合、マージは決して行われず、残りのオプションは無視されます。--split=replace
は既存のチェーンを新しいもので上書きします。単なる--split
は残りのオプションに委ねられます。(コミットグラフのチェーンをマージすると、既存のチェーンが、最初の増分のみがグラフ全体を保持する長さ1のチェーンに置き換えられることに注意してください)。 -
--size-multiple=<X>
が指定されていない場合、X
を 2 とします。新しい先端ファイルがN
個のコミットを持ち、以前の先端がM
個のコミットを持ち、X
倍のN
がM
より大きい場合、代わりに2つのファイルを単一のファイルにマージします。 -
M
を正の整数として--max-commits=<M>
が指定されており、新しい先端ファイルがM
個を超えるコミットを持つ場合、代わりに新しい先端を以前の先端とマージします。最後に、
--expire-time=<datetime>
が指定されていない場合、datetime
を現在時刻とします。分割コミットグラフを書き込んだ後、変更時刻がdatetime
よりも古い未使用のコミットグラフをすべて削除します。
-
- verify
-
コミットグラフファイルを読み込み、その内容をオブジェクトデータベースに対して検証します。破損したデータをチェックするために使用されます。
--shallow
オプションを使用すると、分割コミットグラフのチェーンの先端コミットグラフファイルのみをチェックします。
例
-
ローカルの
.git
ディレクトリ内のパックされたコミットのコミットグラフファイルを書き込みます。$ git commit-graph write
-
<pack-index>
内のコミットを使用して、現在のコミットグラフファイルを拡張するコミットグラフファイルを書き込みます。$ echo <pack-index> | git commit-graph write --stdin-packs
-
すべての到達可能なコミットを含むコミットグラフファイルを書き込みます。
$ git show-ref -s | git commit-graph write --stdin-commits
-
現在のコミットグラフファイル内のすべてのコミットと、
HEAD
から到達可能なコミットを含むコミットグラフファイルを書き込みます。$ git rev-parse HEAD | git commit-graph write --stdin-commits --append
設定
このセクションのこの行より下のすべての内容は、git-config[1] ドキュメントから選択的に含まれています。内容はそちらで見られるものと同じです
- commitGraph.generationVersion
-
コミットグラフファイルの書き込みまたは読み取り時に使用する世代番号のバージョンタイプを指定します。バージョン1が指定された場合、修正されたコミット日付は書き込まれず、読み取られません。デフォルトは2です。
- commitGraph.maxNewFilters
-
git commit-graph write
の--max-new-filters
オプションのデフォルト値を指定します(参照: git-commit-graph[1])。 - commitGraph.readChangedPaths
-
非推奨。trueの場合、commitGraph.changedPathsVersion=-1 と同等、falseの場合、commitGraph.changedPathsVersion=0 と同等です。(commitGraph.changedPathVersion も設定されている場合、commitGraph.changedPathsVersion が優先されます。)
- commitGraph.changedPathsVersion
-
Gitが読み書きする変更パスのブルームフィルターのバージョンを指定します。-1、0、1、または2のいずれかです。1より大きい値は、まだそれらのバージョンを理解していない古いバージョンのGitとは互換性がない場合があることに注意してください。混合バージョン環境で操作する場合は注意してください。
デフォルトは-1です。
-1の場合、Gitはリポジトリ内の変更パスのブルームフィルターのバージョンを使用し、存在しない場合はデフォルトで1を使用します。
0の場合、Gitはブルームフィルターを読み取らず、書き込みを指示されたときにバージョン1のブルームフィルターを書き込みます。
1の場合、Gitはバージョン1のブルームフィルターのみを読み取り、バージョン1のブルームフィルターを書き込みます。
2の場合、Gitはバージョン2のブルームフィルターのみを読み取り、バージョン2のブルームフィルターを書き込みます。
詳細については、git-commit-graph[1] を参照してください。
ファイル形式
gitformat-commit-graph[5] を参照してください。
GIT
git[1] スイートの一部