セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 2.46.1 → 2.50.1 変更なし
-
2.46.0
2024-07-29
- 2.44.1 → 2.45.4 変更なし
-
2.44.0
2024-02-23
- 2.39.1 → 2.43.7 変更なし
-
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> オプションを指定すると、最大n
個の新しいブルームフィルターを生成します (--changed-paths
が指定されている場合)。n
が-1
の場合、制限は適用されません。新しいレイヤーに存在するコミットのみがこの制限の対象となります。以前のレイヤーに対してブルームフィルターを遡って計算するには、--split=replace
を使用することをお勧めします。commitGraph.maxNewFilters
設定を上書きします。--split
[=
<strategy>] オプションを指定すると、コミットグラフは <dir>/info/commit-graphs
に格納された複数のコミットグラフファイルのチェーンとして書き込まれます。コミットグラフのレイヤーは、戦略とその他の分割オプションに基づいてマージされます。コミットグラフにまだない新しいコミットは、新しい「チップ」ファイルに追加されます。次のマージ条件が満たされた場合、このファイルは既存のファイルとマージされます。-
--split=no-merge
が指定されている場合、マージは決して実行されず、残りのオプションは無視されます。--split=replace
は既存のチェーンを新しいチェーンで上書きします。単に--split
と指定すると、残りのオプションに委ねられます。(コミットグラフのチェーンをマージすると、既存のチェーンが、最初で唯一のインクリメンタルがグラフ全体を保持する長さ1のチェーンに置き換えられることに注意してください)。 -
--size-multiple=
<X> が指定されていない場合、X
は2とします。新しいチップファイルにN
個のコミットがあり、以前のチップにM
個のコミットがあり、X
倍のN
がM
より大きい場合、代わりに2つのファイルを1つのファイルにマージします。 -
正の整数
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
オプションのデフォルト値を指定します (c.f., git-commit-graph[1])。 - commitGraph.readChangedPaths
-
非推奨。true の場合は commitGraph.changedPathsVersion=-1 と、false の場合は commitGraph.changedPathsVersion=0 と同等です。(commitGraph.changedPathVersion も設定されている場合、commitGraph.changedPathsVersion が優先されます。)
- commitGraph.changedPathsVersion
-
Git が読み書きする changed-path Bloom フィルターのバージョンを指定します。-1、0、1、または 2 のいずれかです。1より大きい値は、これらのバージョンをまだ理解していない古いバージョンの Git と互換性がない場合があることに注意してください。異なるバージョンの環境で操作する場合は注意が必要です。
デフォルトは -1 です。
-1 の場合、Git はリポジトリ内の changed-path Bloom フィルターのバージョンを使用し、存在しない場合はデフォルトで 1 を使用します。
0 の場合、Git は Bloom フィルターを読み込まず、書き込み指示があったときにバージョン 1 の Bloom フィルターを書き込みます。
1 の場合、Git はバージョン 1 の Bloom フィルターのみを読み込み、バージョン 1 の Bloom フィルターを書き込みます。
2 の場合、Git はバージョン 2 の Bloom フィルターのみを読み込み、バージョン 2 の Bloom フィルターを書き込みます。
詳細については、git-commit-graph[1] を参照してください。
ファイル形式
gitformat-commit-graph[5] を参照してください。
GIT
git[1]スイートの一部