Ada dua skenario untuk membandingkan file:
Skenario 1: Bandingkan file di cabang jauh (kedua cabang harus ada di repositori jarak jauh)
Skenario 2: Bandingkan file lokal (di copy area kerja lokal) dengan file di repositori jarak jauh.
Logikanya sederhana. Jika Anda memberikan dua nama cabang untuk diff, itu akan selalu membandingkan cabang jauh, dan jika Anda hanya memberikan satu nama cabang, itu akan selalu membandingkan copy pekerjaan lokal Anda dengan repo jarak jauh (yang Anda berikan). Anda dapat menggunakan rentang untuk menyediakan repositori jarak jauh.
mis. Periksa cabang
git checkout branch1
git diff branch2 [filename]
dalam hal ini, jika Anda memberikan nama file, itu akan membandingkan salinan nama file lokal Anda dengan cabang jarak jauh bernama " branch2 ".
git diff branch1 branch2 [filename]
dalam hal ini, ia akan membandingkan nama file dari cabang jauh bernama " branch1 " vs " branch2 "
git diff ..branch2 [filename]
dalam hal ini juga, ia akan membandingkan nama file dari cabang jarak jauh bernama " branch1 " vs " branch2 ". Jadi, sama seperti di atas. Namun, jika Anda baru saja membuat cabang dari cabang lain, ucapkan "master" dan cabang Anda saat ini tidak ada pada repositori jarak jauh, ia akan membandingkan remote " master " vs remote " branch2 ".
Semoga bermanfaat.
git diff branch1 branch2 myfile.cs
. (Yang--
seharusnya tidak perlu lagi, karena hanya bisa memakan dua argumen revisi.)