Einrichtung und Konfiguration
Projekte holen und erstellen
Grundlegende Snapshots
Branching und Merging
Projekte teilen und aktualisieren
Inspektion und Vergleich
Patching
Debugging
Externe Systeme
Server-Administration
Anleitungen
- gitattributes
- Konventionen der Kommandozeile
- Tägliches Git
- Häufig gestellte Fragen (FAQ)
- Glossar
- Hooks
- gitignore
- gitmodules
- Revisionen
- Submodule
- Tutorial
- Workflows
- Alle Anleitungen...
Administration
Plumbing-Befehle
-
2.52.0
2025-11-17
- 2.51.2 keine Änderungen
-
2.51.1
2025-10-15
- 2.39.1 → 2.51.0 keine Änderungen
-
2.39.0
2022-12-12
- 2.15.4 → 2.38.5 keine Änderungen
- 2.14.6 keine Änderungen
- 2.7.6 → 2.13.7 keine Änderungen
-
2.6.7
2017-05-05
- 2.2.3 → 2.5.6 keine Änderungen
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
BESCHREIBUNG
Liest einen Patch von der Standardeingabe und berechnet die Patch-ID dafür.
Eine "Patch-ID" ist nichts anderes als die Summe der SHA-1-Hashes der Dateidiffs, die zu einem Patch gehören, wobei Zeilennummern ignoriert werden. Als solche ist sie "vernünftigerweise stabil", aber gleichzeitig auch vernünftigerweise eindeutig, d. h. zwei Patches mit derselben "Patch-ID" sind fast garantiert dasselbe.
Der Hauptanwendungsfall für diesen Befehl ist die Suche nach wahrscheinlichen Duplikat-Commits.
Wenn mit der Ausgabe von git diff-tree gearbeitet wird, nutzt dieser Befehl die Tatsache aus, dass der Patch mit dem Objekt-Namen des Commits vorangestellt ist, und gibt zwei 40-stellige Hexadezimalstrings aus. Der erste String ist die Patch-ID und der zweite String ist die Commit-ID. Dies kann verwendet werden, um eine Zuordnung von Patch-ID zu Commit-ID zu erstellen.
OPTIONEN
--verbatim-
Berechnet die Patch-ID der Eingabe, wie sie gegeben ist, ohne Leerraum zu entfernen.
Dies ist der Standardwert, wenn
patchid.verbatimauftruegesetzt ist. --stable-
Verwendet eine "stabile" Summe von Hashes als Patch-ID. Mit dieser Option
-
beeinflusst die Neuordnung von Dateidiffs, die einen Patch bilden, die ID nicht. Insbesondere ergeben zwei Patches, die durch den Vergleich derselben beiden Bäume mit zwei verschiedenen Einstellungen für
-O<orderfile> erzeugt wurden, dieselbe Patch-ID-Signatur, wodurch das berechnete Ergebnis als Schlüssel zum Indizieren von Metainformationen über die Änderung zwischen den beiden Bäumen verwendet werden kann; -
Das Ergebnis unterscheidet sich von dem Wert, der von git 1.9 und älter erzeugt wurde, oder von dem, der bei einem "instabilen" Hash (siehe
--unstableunten) erzeugt wird – selbst wenn er auf eine Diff-Ausgabe angewendet wird, die ohne die Verwendung von-O<orderfile> erstellt wurde. Dadurch werden bestehende Datenbanken, die solche "instabilen" oder historischen Patch-IDs speichern, unbrauchbar. -
Jeglicher Leerraum innerhalb des Patches wird ignoriert und beeinflusst die ID nicht.
Dies ist der Standardwert, wenn
patchid.stableauftruegesetzt ist. -
--unstable-
Verwendet einen "instabilen" Hash als Patch-ID. Mit dieser Option ist das Ergebnis mit dem von git 1.9 und älter erzeugten Patch-ID-Wert kompatibel und Leerraum wird ignoriert. Benutzer mit vorbestehenden Datenbanken, die Patch-IDs von git 1.9 und älter speichern (die nicht mit neu sortierten Patches umgehen), möchten diese Option möglicherweise verwenden.
Dies ist der Standardwert.
GIT
Teil der git[1] Suite