git range-diff

Patches & Umschreiben

Vergleicht zwei Versionen einer Commit-Serie


Der Befehl 'git range-diff' vergleicht zwei Versionen derselben Commit-Serie — typischerweise einen Branch vor und nach einem Rebase oder einer Review-Runde. Er ordnet jedem alten Commit seine neue Version zu und markiert ihn mit = (unverändert), ! (geändert, mit einem Diff der Diffs), < (nur in der alten Version) oder > (nur in der neuen). Reviewer sehen damit, was sich zwischen Versionen einer Patch-Serie geändert hat.

Syntax

git range-diff <base> <old-tip> <new-tip>
git range-diff <old-tip>...<new-tip>
git range-diff <old-range> <new-range>
[ ] optional| oder<arg> Platzhalter... wiederholbar--flag Option

Beispiele

Nach einem Rebase

git range-diff main old feature

Alte und neue Version des Branches, auf Basis main.


Symmetrische Form

git range-diff old...feature

Git findet die Basis selbst.


Mit ORIG_HEAD

git range-diff ORIG_HEAD...HEAD

Direkt nach einem Rebase: vorher gegen nachher.

Workflow-Beispiele

1
git rebase main

Rebase

2
git range-diff ORIG_HEAD...HEAD

Vorher und nachher vergleichen

Fehlerbehebung

Alles erscheint als < und >

Ursache: Die Bereiche haben keine ähnlichen Commits

Prüfe Basis und Spitzen, die du angegeben hast

Tipps & Stolperfallen

Best Practices

  • ✓Behalte einen Branch oder Tag auf der alten Version, bevor du eine geprüfte Serie umschreibst.

Häufige Fehler

  • ✗Branches nach einem Rebase mit git diff vergleichen — das mischt alle Änderungen der neuen Basis hinein.

FAQ

A:

Nein: es vergleicht Commit für Commit und ignoriert Änderungen aus der neuen Basis.