Ako pomocou systému Git zistíte rozdiel medzi aktuálnou a poslednou verziou?
git diff last version:HEAD
Nechápem význam pojmu "posledná verzia".
Keďže k predchádzajúcej revízii sa dá dostať pomocou HEAD^, myslím, že hľadáte niečo také:
git diff HEAD^ HEAD
Od verzie Git 1.8.5 je @
aliasom pre HEAD
, takže môžete použiť:
git diff @~..@
Funguje aj nasledujúci postup:
git show
Ak chcete zistiť rozdiel medzi head a akoukoľvek revíziou, môžete použiť:
git diff commit_id HEAD
A to spustí váš vizuálny nástroj na porovnávanie (ak je nakonfigurovaný):
git difftool HEAD^ HEAD
Keďže porovnanie s HEAD je predvolené, môžete ho vynechať (ako upozornil Orient):
git diff @^
git diff HEAD^
git diff commit_id
^
musí použiť znak ~
.Za predpokladu, že "aktuálna verzia" je pracovný adresár (neodovzdané zmeny) a "posledná verzia" je HEAD
(posledné odovzdané zmeny pre aktuálnu vetvu), jednoducho vykonajte
git diff HEAD
Zásluhu na nasledujúcich krokoch má používateľ Cerran
A ak pri odovzdávaní vždy vynecháte oblasť staging pomocou -a
, potom môžete jednoducho použiť git diff
.
Zhrnutie
git diff
zobrazuje nezaradené zmeny.git diff --cached
zobrazuje etapové zmeny.git diff HEAD
zobrazí všetky zmeny (etapové aj neetapové).Zdroj: git-diff(1) Príručka - Cerran
Môžete to urobiť aj týmto spôsobom:
Porovnajte s predchádzajúcou revíziou
git diff --name-status HEAD~1..HEAD
Porovnať s aktuálnou a predchádzajúcimi dvoma revíziami
git diff --name-status HEAD~2..HEAD