Yanıtlar:
Aşağıdakiler benim için çalışıyor:
git diff master:foo foo
Geçmişte şunlar olabilirdi:
git diff foo master:foo
--Parametreleri yol bağımsız değişkenlerinden ayırmak için a ile denediniz mi? git diff -- master:foo foo
git diff -- master:foo fooişe yaramıyor - arg'e master:foo, daldaki bir dosya yerine var olmayan bir dosya adı gibi davranıyor (ve yok sayar). Son 2 argümanı değiştirmeyi deneyin - eğer işe yaradıysa, fark karşılaştırması tersine çevrilmelidir, ancak çıktı değişmez.
git diff master:foo fooama tam tersi değil. Ben de anlamıyorum. Git 1.7.9.5 / Ubuntu 12.04 ile en azından git diff -R master:foo fooistediğim farkı elde etmek için yapabilirim. Bunu msysgit 1.9.4 / Windows 7 x64 ile denediğimde elde ederim fatal: unable to read 0000000000000000000000000000000000000000. Olmadan -Rgit 1.7.9.5 ile aynı hata mesajını alıyorum, ama 1.9.4 ile alıyorum fatal: master:foo: no such path in the working tree.
Çalışma ağacınızı belirli bir dal adıyla karşılaştırmaya çalışıyorsunuz, bu yüzden şunu istiyorsunuz:
git diff master -- foo
Bu git-diff formundan (git-diff man sayfasına bakınız)
git diff [--options] <commit> [--] [<path>...]
This form is to view the changes you have in your working tree
relative to the named <commit>. You can use HEAD to compare it with
the latest commit, or a branch name to compare with the tip of a
different branch.
Bilginize, çalışma ağacınızdaki her şeyden ziyade, hazırladığınız şeyin farkını görüntülemek için --cached(aka --staged) bir seçenek de vardır :
git diff [--options] --cached [<commit>] [--] [<path>...]
This form is to view the changes you staged for the next commit
relative to the named <commit>.
...
--staged is a synonym of --cached.
Ayrıca: git diff master..feature foo
Çünkü git diff foo master:foobenim için dizinler üzerinde çalışmıyor.
git diff branch1:foo master:foo
git difftool tag/branch filename
git difftoolgit-scm.com/docs/git-difftool adresine-v göre seçeneği yoktur . Bunu mu demek istediniz ? -y
git diff mybranch master -- file
ayrıca çalışmalı
git diff deployment master -- fileve herhangi bir 2 daldagit diff master deployment -- file beklendiği gibi çalışır .
Yerel değişiklikleri görmek için mevcut şubenize kıyasla
git diff .
Yerel değişimleri görmek için mevcut diğer şubelere kıyasla
git diff <branch-name> .
Belirli bir dosyanın değişikliklerini görmek için
git diff <branch-name> -- <file-path>
git fetchBaşlangıçta koştuğunuzdan emin olun .
git diffher cevabını gördüğümde, hep stackoverflow.com/questions/5256249/git-diff-doesnt-show-enough/…