日本語 ▾ トピック ▾ 最新バージョン ▾ git-patch-id は2.39.0で最終更新されました

名前

git-patch-id - パッチの固有IDを計算する

概要

git patch-id [--stable | --unstable | --verbatim]

説明

標準入力からパッチを読み取り、そのパッチIDを計算します。

「パッチID」とは、行番号を無視したパッチに関連付けられたファイル差分のSHA-1の合計にすぎません。そのため、「合理的に安定」していますが、同時に合理的に一意でもあります。つまり、同じ「パッチID」を持つ2つのパッチは、ほぼ間違いなく同じものです。

このコマンドの主な使用例は、重複している可能性のあるコミットを探すことです。

git diff-tree の出力の場合、パッチがコミットのオブジェクト名でプレフィックスされていることを利用し、40バイトの16進数文字列を2つ出力します。最初の文字列がパッチIDで、2番目の文字列がコミットIDです。これは、パッチIDからコミットIDへのマッピングを作成するために使用できます。

オプション

--verbatim

入力されたパッチのパッチIDを、空白を削除せずにそのまま計算します。

This is the default if patchid.verbatim is true.
--stable

「安定した」ハッシュの合計をパッチIDとして使用します。このオプションでは、

  • パッチを構成するファイル差分の順序を変更してもIDに影響しません。特に、同じ2つのツリーを2つの異なる「-O」設定で比較して生成された2つのパッチは、同じパッチIDシグネチャを生成するため、計算結果を2つのツリー間の変更に関するメタ情報をインデックス化するためのキーとして使用できます。

  • 結果は、git 1.9以前のバージョンで生成された値や、「不安定な」ハッシュ(以下の--unstableを参照)が設定されている場合に生成された値とは異なります。これは、「-O」を使用せずに取得した差分出力で使用した場合でも同じです。これにより、そのような「不安定な」または履歴的なパッチ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]スイートの一部

scroll-to-top