Start·Terminal-Befehle

git apply

git

Aufruf

git apply [--check|-3] <patch>

Wendet eine Diff-Datei auf Ihren Arbeitsbaum an; es erzeugt keinen Commit und liest den Autor im Patch nicht, per Mail erhaltene Patches gehören daher zu am.

Häufige Optionen

OptionBedeutung
--checkreport whether it would apply, change nothing
-3fall back to a three-way merge and leave conflict markers
--indexapply to the working tree and stage it
--cachedapply to the index only
-Rapply in reverse, undoing the patch
-p<n>strip n leading path components
--statshow what the patch touches

Beispiele

git apply --check fix.patch

tells you if it fits before you try

git apply -3 fix.patch

applies it and leaves conflicts to resolve by hand

git apply -R fix.patch

takes an applied patch back out

Verwirrend ist, dass Rückgängig mehrere Formen hat — den Zeiger eines Branch zu verschieben ist nicht dasselbe wie einen Gegen-Commit zu setzen.

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 git apply?

Wendet eine Diff-Datei auf Ihren Arbeitsbaum an; es erzeugt keinen Commit und liest den Autor im Patch nicht, per Mail erhaltene Patches gehören daher zu am.

Q. Wie gibt man ihn ein?

git apply [--check|-3] <patch> — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 7; die vollständige Liste steht in man git. Der Befehl gehört zu git.

Verwandte Befehle

man-Seite: man git-apply