回答:
git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt
相対パスを使用することもできます。
git diff branch1:./relative/path/to/foo.txt branch2:./relative/path/to/foo-another.txt
git help diff
。ちなみに、これらはコロンの前のブランチ名である必要はありませんが、あらゆる種類のコミット参照(SHA-1値など)にすることができます。
git difftool
してからドロップするbranch2:
と、現在の作業ツリー内のファイルを編集できます(からの変更を引き継ぐためbranch1
)
2つの異なるブランチからのファイルを比較する多くの方法があります。例えば:
名前が同じか異なる場合:
git diff branch1:file branch2:file
例:
git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt
名前が同じで、現在の作業ディレクトリをいくつかのブランチと比較したい場合のみ:
git diff ..someBranch path/to/file
例:
git diff ..branch2 full/path/to/foo.txt
この例では、実際のブランチのファイルをマスターブランチのファイルと比較しています。
この応答を確認できます。
トピック外の回答-コメントを参照
それを追加するためだけに、それは非常に簡単な構文だと思います:
git diff <branch1> <branch2> <filepath>
以下のような相対参照でも機能します。
# compare the previous committed state from HEAD with the state branch1 was 3 commits ago
git diff HEAD^ <branch1>~3 <filepath>