Szczerze mówiąc, najlepszą opcją jest użycie git difftool
zamiast wanilii git diff
. Aby zobaczyć, jakie narzędzia wersja podpór git, wprowadź
git difftool --tool-help
, które z mojej wersji (2.3.0), pokazuje następujący
$ 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
Zwykle używam meld
, ale to tylko osobiste preferencje . git difftool
pobiera te same argumenty co git diff
oraz kilka, które pomagają w procesie (uważam, że -y
jest użyteczny, aby zapobiec monitom podczas przechodzenia z jednego pliku do drugiego).
Aby sprawdzić zmiany wprowadzone przez specyficzny popełnienia, na przykład, można użyć
git difftool -y -t meld 08f0f82^..08f0f82
oczywiście zastępując 08f0f82
z prawidłowym SHA-1.
Moja największa skarga polega na tym, że uruchamia narzędzie dla każdego zmodyfikowanego pliku w sekwencji (stąd określenie opcji -y
).
Jeśli chcesz tylko sprawdzić zmiany w konkretnym pliku w tym zatwierdzeniu, możesz po prostu dodać nazwę pliku do wiersza poleceń.
git difftool -y -t meld 08f0f82^..08f0f82 myfile.c
Oczywiście, to jest dla interaktywnej użyciu - nie dla skryptów
związane: http://stackoverflow.com/q/27857967/2541573 – Jubobs
Inną opcją jest 'git diff -u \' wc -l | cut -f 1 -d”„\ '' HEAD^ ale ty trzeba uruchomić 'wc' na dłuższej wersji pliku –
kdopen