git diff --name-status -C <rev1> <rev2>
sollte dem, wonach Sie suchen, näher kommen.
--name-status
werden die Dateinamen und ihr jeweiliger Status angezeigt:
(A|C|D|M|R|T|U|X|B)
Hinzugefügt (A), Kopiert (C), Gelöscht (D), Geändert (M), Umbenannt (R),
Typ (d. h. reguläre Datei, Symlink, Submodul, ) geändert (T),
Nicht zusammengeführt (U), Unbekannt (X) oder Paarung gebrochen (B)
(zu dem die OP Jean Philippe Pellet fügt hinzu:
Die Statusmeldungen R
y C
"sind immer von einer Punktzahl gefolgt, die den Prozentsatz der Ähnlichkeit zwischen der Quelle und dem Ziel der Verschiebung oder Kopie angibt, und sind die einzigen, die so sind". )
Bezüglich kopierter oder verschobener Dateien:
-C[<n>]
--find-copies[=<n>]
Erkennen Sie sowohl Kopien als auch Umbenennungen. Wenn n
angegeben ist, hat es die gleiche Bedeutung wie bei -M<n>
.
--find-copies-harder
Aus Leistungsgründen ist dies die Standardeinstellung, -C
findet Kopien nur, wenn die Originaldatei der Kopie im selben Changeset geändert wurde.
Mit diesem Flag wird der Befehl veranlasst, unveränderte Dateien als Kandidaten für die Quelle der Kopie zu untersuchen.
Dies ist ein sehr kostspieliges Verfahren für große Projekte, daher ist es mit Vorsicht zu genießen. Die Vergabe von mehr als einem -C
hat die gleiche Wirkung.
brauliobo empfiehlt in den Kommentaren :
git diff --stat -C
git show --stat -C
git log --stat -C