Saya punya repo dengan file foo
di cabang master. Saya beralih ke cabang bar dan membuat beberapa perubahan foo
. Bagaimana saya bisa menjalankan git diff
antara salinan ini (yang belum dilakukan) dan salinan cabang master?
158
Berikut ini berfungsi untuk saya:
git diff master:foo foo
Di masa lalu, itu mungkin:
git diff foo master:foo
git diff
, saya selalu memikirkan stackoverflow.com/questions/5256249/git-diff-doesnt-show-enough/…--
untuk memisahkan parameter dari argumen jalur?git diff -- master:foo foo
git diff -- master:foo foo
tidak berfungsi - sepertinya memperlakukan argmaster:foo
sebagai nama file yang tidak ada (dan mengabaikannya) alih-alih file-in-a-branch. Coba alihkan 2 argumen terakhir - jika berhasil, perbandingan diff harus dibalik, tetapi hasilnya tidak berubah.git diff master:foo foo
tetapi tidak sebaliknya. Saya juga tidak mengerti. Dengan git 1.7.9.5 / Ubuntu 12.04 setidaknya saya dapat melakukangit diff -R master:foo foo
untuk mendapatkan diff yang sebenarnya saya inginkan. Ketika saya mencobanya dengan msysgit 1.9.4 / Windows 7 x64 saya dapatkanfatal: unable to read 0000000000000000000000000000000000000000
. Tanpa-R
saya mendapatkan pesan kesalahan yang sama seperti Anda dengan git 1.7.9.5, tetapi dengan 1.9.4 saya dapatkanfatal: master:foo: no such path in the working tree
.Anda mencoba membandingkan pohon kerja Anda dengan nama cabang tertentu, jadi Anda menginginkan ini:
Yang dari bentuk git-diff ini (lihat manual git-diff)
FYI, ada juga opsi
--cached
(alias--staged
) untuk melihat perbedaan dari apa yang telah Anda buat, daripada semua yang ada di pohon kerja Anda:sumber
Juga:
git diff master..feature foo
Karena
git diff foo master:foo
tidak berfungsi pada direktori untuk saya.sumber
git diff branch1:foo master:foo
sumber
git difftool
tidak memiliki-v
opsi menurut docs git-scm.com/docs/git-difftool . Apakah maksud Anda-y
?juga harus bekerja
sumber
git diff deployment master -- file
dangit diff master deployment -- file
berfungsi seperti yang diharapkan dengan 2 cabang .Untuk melihat perubahan lokal dibandingkan dengan cabang Anda saat ini
Untuk melihat perubahan lokal dibandingkan dengan cabang lain yang ada
Untuk melihat perubahan file tertentu
Pastikan Anda berlari
git fetch
di awal.sumber