Jawaban:
Tentukan jalur secara eksplisit:
git diff HEAD:full/path/to/foo full/path/to/bar
Lihat --find-renames
opsi di git-diff
dokumen .
Kredit: twaggs .
git diff <path> <path>
bahkan jika mereka tidak ada dalam repositori git.
git diff --help
Anda akan melihat bahwa satu-satunya pola yang didukung untuk dua file adalah git diff [<options>] --no-index [--] <path> <path>
. git diff a b
hanya cocok dengan pola komit, bukan file.
--no-index
opsi saat menjalankan perintah di pohon kerja yang dikendalikan oleh Git dan setidaknya salah satu titik jalur di luar pohon kerja, atau saat menjalankan perintah di luar pohon kerja yang dikendalikan oleh Git .
Saya yakin menggunakan --no-index
adalah apa yang Anda cari:
git diff [<options>] --no-index [--] <path> <path>
seperti yang disebutkan di manual git:
Formulir ini untuk membandingkan dua jalur yang diberikan pada sistem file. Anda dapat menghilangkan satu
--no-index
pilihan ketika menjalankan perintah di pohon bekerja dikendalikan oleh Git dan setidaknya salah satu jalur poin di luar pohon bekerja, atau ketika menjalankan perintah luar pohon bekerja dikendalikan oleh Git.
Jika Anda menggunakan tortoise git, Anda dapat mengklik kanan pada file dan melakukan git a diff dengan: Klik kanan pada file pertama dan melalui submenu tortoisegit pilih "Diff later" Kemudian pada file kedua Anda juga dapat mengklik kanan ini , buka submenu tortoisegit lalu pilih "Diff dengan namafilandadi sini.txt"
Menggunakan PhpStorm, saya hanya menyalin kode komit prev dan membandingkannya dengan versi saat ini menggunakan alat "bandingkan dengan clipboard" bawaan.
git diff --no-index --word-diff old_file.txt new_file.txt
(--word-diff menyoroti perubahan berdasarkan kata, bukan hanya baris, yang sangat berguna untuk teks panjang).