Açıkçası, en iyi seçenek, vanilya git diff
yerine git difftool
kullanmaktır. git desteklerin sürümü,
git difftool --tool-help
girdikleri araçları görmek için benim sürümü (2.3.0) ile hangi gösterir aşağıdaki
$ git difftool --tool-help
'git difftool --tool=<tool>' may be set to one of the following:
araxis
gvimdiff
gvimdiff2
gvimdiff3
meld
vimdiff
vimdiff2
vimdiff3
The following tools are valid, but not currently available:
bc
bc3
codecompare
deltawalker
diffmerge
diffuse
ecmerge
emerge
kdiff3
kompare
opendiff
p4merge
tkdiff
xxdiff
Ben genellikle meld
kullanmak, ama bu sadece kişisel bir tercih . git difftool
, git diff
ile aynı bağımsız değişkenleri ve işlemle ilgili yardımcı olmak için birkaçını alır (-y
'u bir dosyadan diğerine geçerken gelen istemleri engellemek için kullanışlıdır).
, örneğin,
git difftool -y -t meld 08f0f82^..08f0f82
açıkça doğru SHA-1
08f0f82
değiştirilmesi kullanabilir tamamlama belirli getirdiği değişiklikleri kontrol etmek için.
En büyük şikayetim, her değiştirilen dosya için aracı sırayla başlatmasıdır (bu nedenle -y
seçeneğini belirtmektedir).
Değişiklikleri yalnızca söz konusu işlemde belirli bir dosyada incelemek isterseniz, yalnızca dosya adını komut satırına ekleyebilirsiniz.
git difftool -y -t meld 08f0f82^..08f0f82 myfile.c
Açıkçası, bu interaktif kullanım için - sadece -U
ile çok sayıda kullanırsanız değil komut dosyası için
ilgili: http://stackoverflow.com/q/27857967/2541573 – Jubobs
Başka bir seçenek 'git diff -U \' wc -l | cut -f 1 -d "" \ 'HEAD^'; –
kdopen