セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット取得
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ処理
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの慣例
- 日常のGit
- よくある質問 (FAQ)
- 用語集
- フック
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
低レベルコマンド
- 2.39.1 → 2.49.0 変更なし
-
2.39.0
2022-12-12
- 2.15.4 → 2.38.5 変更なし
- 2.14.6 変更なし
- 2.7.6 → 2.13.7 変更なし
-
2.6.7
2017-05-05
- 2.2.3 → 2.5.6 変更なし
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
説明
標準入力からパッチを読み取り、そのパッチ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には影響しません。特に、「-O<orderfile>」の2つの異なる設定で同じ2つのツリーを比較して生成された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] スイートの一部