109

この質問が存在する場合は申し訳ありませんが、驚くべきことに見つけることができませんでした:/

git diff同じブランチと同じコミット内の 2 つのファイル間で実行するにはどうすればよいですか?

すなわちgit diff fileA.php fileB.php

git(理想的には、 BeyondCompare プログラムが提供する読みやすい色分けを使用して....または同様のものを提供します!)

4

6 に答える 6

271

git diff任意の 2 つのファイルで使用する場合は、git diff --no-index <file_a> <file_b>. これが機能するために、2 つのファイルを追跡する必要はありませんgit

于 2014-01-06T15:46:01.440 に答える
85

そのためにgitは必要ありません。使用するだけdiff fileA.php fileB.phpです(または並べて比較したい場合はvimdiff)

于 2012-12-20T02:21:34.533 に答える
16

比較したいファイルが作業コピーにある場合はdiff、他の人が指摘したとおりに使用できますが、ファイルが何らかのリビジョンにある場合は、各ファイルのリビジョンを指定できます

git diff <revision_1>:<file_1> <revision_2>:<file_2>

ここに記載されているように: https://stackoverflow.com/a/3343506/1815446

あなたの場合(両方のファイルに同じリビジョンを指定):

git diff <revisionX>:fileA.php <revisionX>:fileB.php
于 2012-12-20T02:49:30.963 に答える
5

通常の gnu diff を git diff のように見せるには、次のパラメーターをお勧めします。

diff -burN file_or_dir1 file_or_dir2

-bスペースを無視し、-u統合差分、-r再帰的、-N欠落ファイルを として扱います/dev/null)。

うまく機能しますが、まだ色がなく、git スタイルの自動ページングは​​事実上ありません。両方を修正したい場合 (私は修正します)、次のcolordiffようにインストールして使用します。

colordiff -burN file_or_dir1 file_or_dir2 | less -R

これにより、実際に非常に近い出力とインターフェイスが得られますgit diff

于 2012-12-20T04:12:46.807 に答える
0

同じディレクトリにある 2 つのローカル ファイルを比較したい場合は、単に diff を使用してください。

diff fileA.php fileB.php
于 2012-12-20T02:21:48.960 に答える
-4

通常の差分を使用してください。

diff -Nua fileA.php fileB.php
于 2012-12-20T02:22:49.933 に答える