セットアップと構成
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの慣例
- 日常的なGit
- よくある質問(FAQ)
- 用語集
- フック
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
Plumbingコマンド
- 2.39.1 → 2.47.0 変更なし
-
2.39.0
12/12/22
- 2.15.4 → 2.38.5 変更なし
- 2.14.6 変更なし
- 2.7.6 → 2.13.7 変更なし
-
2.6.7
05/05/17
- 2.2.3 → 2.5.6 変更なし
-
2.1.4
12/17/14
-
2.0.5
12/17/14
説明
標準入力からパッチを読み込み、そのパッチのパッチ ID を計算します。
「パッチ ID」は、行番号を無視した、パッチに関連付けられたファイル差分の SHA-1 の合計にすぎません。そのため、「十分に安定」していますが、同時に十分に一意でもあります。つまり、同じ「パッチ ID」を持つ 2 つのパッチは、ほぼ間違いなく同じものです。
このコマンドの主なユースケースは、重複する可能性の高いコミットを探すことです。
git diff-tree の出力を扱う場合、パッチがコミットのオブジェクト名で始まるという事実を利用し、2 つの 40 バイトの 16 進文字列を出力します。最初の文字列はパッチ ID で、2 番目の文字列はコミット ID です。これは、パッチ ID からコミット ID へのマッピングを作成するために使用できます。
オプション
- --verbatim
-
入力されたパッチのパッチ ID を、そのままの状態で計算します。空白を削除しません。
This is the default if patchid.verbatim is true.
- --stable
-
ハッシュの「安定した」合計をパッチ ID として使用します。このオプションを使用すると
-
パッチを構成するファイル差分の並べ替えは、ID に影響しません。特に、同じ 2 つのツリーを "-O<orderfile>" の異なる設定で比較することによって生成された 2 つのパッチは、同じパッチ ID シグネチャになります。これにより、計算された結果を、2 つのツリー間の変更に関するメタ情報をインデックス化するためのキーとして使用できます。
-
結果は、git 1.9 以前で生成された値、または「不安定な」ハッシュ(下記の --unstable を参照)が構成されている場合に生成された値とは異なります。これは、"-O<orderfile>" を使用せずに取得した diff 出力で使用した場合でも同様であり、既存の「不安定な」または履歴的なパッチ ID を格納するデータベースは使用できなくなります。
-
パッチ内のすべての空白は無視され、ID に影響しません。
This is the default if patchid.stable is set to true.
-
- --unstable
-
「不安定な」ハッシュをパッチ ID として使用します。このオプションを使用すると、生成される結果は git 1.9 以前で生成されたパッチ ID 値と互換性があり、空白は無視されます。git 1.9 以前で生成されたパッチ ID を格納する既存のデータベースを持っているユーザー(並べ替えられたパッチを扱わないユーザー)は、このオプションを使用したい場合があります。
This is the default.
GIT
git[1] スイートの一部