- 同じファイルに対して
git diff
とを使用できるかどうかは、何に依存しますか?diff
単純に、ファイルが git リポジトリの作業ツリーにある場合、 を使用git diff
してそのファイルの変更を表示できます (インデックスや blob オブジェクトのように、git リポジトリによって参照されるのと同じファイルに対して)。これは、ファイルを比較する
' ' とは異なります(つまり、git リポジトリで使用される git diff のように 1 つだけでなく、2 つのファイルが必要です)。diff
コメントでhvdが指摘しているように:
git diff
任意の作業ツリーの外側で使用して、2 つのファイルを渡すことができます。
したがって、使用できるgit diff
ほとんどすべての状況で使用できますdiff
。
逆は正しくない
git diff --color-words --no-index file1 file2
- また、フォーマットの違いは何ですか?
git diff
任意の diff 形式 (統合、生、...) をエミュレートできます。
git固有の形式もあります(--summary
、--stat
、 ...)
以下も参照してください。
Agit diff
には、「類似性インデックス」を含む git ヘッダーが含まれます。
差分の各チャンクのハンク表示は、 diff -u と非常によく似ています。
- コマンドを交換できない場合 (1. を参照)、他のコマンドで使用できるように、ファイルを他の形式に変換するにはどうすればよいですか?
を raw 形式に変換するgit diff
か、 raw: でパッチを適用できます--patch-with-raw
。
逆も可能です: git repo に diff を適用できます。
- コマンドを交換できる場合 (1. を参照): そうすることをお勧めしますか?
git がインストールされていない場合です (前の例を参照) 。
- 2 つのコマンドで作成されるファイルに他に顕著な違いはありますか?
diff
いいえ:またはによって生成されたパッチを適用した結果はgit diff
同じになるはずです。