Start·Terminal-Befehle

patch

Textverarbeitung

Aufruf

patch -p1 < [file.patch]

Wendet ein Diff auf echte Dateien an; -p bestimmt, wie viele Pfadteile entfallen, und ein git-Diff braucht wegen der Präfixe a/ und b/ ein -p1.

Häufige Optionen

OptionBedeutung
-pNStrip N leading path components; git diffs need -p1
-RApply the patch backwards to undo it
--dry-runTest whether it applies and change nothing
-iRead the patch from a file instead of standard input
-bKeep a backup of every file it changes

Beispiele

patch -p1 < fix.patch

Applies a git-style patch from the repo root.

patch -p1 -R < fix.patch

Undoes it again.

patch -p1 --dry-run < fix.patch

Checks it applies cleanly first.

Sie sind fürs Zusammenstecken mit Pipes gebaut. Drei verkettete Befehle sind meist kürzer als einer, der alles macht.

So liest man das

  • Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
  • Drei Punkte … heißen: mehrere sind erlaubt.
  • Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.

Häufige Fragen

Q. Was macht patch?

Wendet ein Diff auf echte Dateien an; -p bestimmt, wie viele Pfadteile entfallen, und ein git-Diff braucht wegen der Präfixe a/ und b/ ein -p1.

Q. Wie gibt man ihn ein?

patch -p1 < [file.patch] — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 5; die vollständige Liste steht in man patch. Der Befehl gehört zu Textverarbeitung.

Verwandte Befehle

man-Seite: man patch