Por qué parches
Los parches son diffs portables que puedes enviar por correo, pegar en un ticket o guardar como archivo. Así funciona el desarrollo del kernel de Linux a escala y siguen siendo útiles cuando necesites compartir un cambio sin acceso de push a un remote compartido.
Crear con diff y apply
git diff > change.patch
git diff main..feature > series.patch
git diff --staged > staged.patch
git apply change.patch
git apply --check change.patch
git apply --3way change.patch
Crear con format-patch
git format-patch -1 HEAD
git format-patch main
git format-patch -3 --cover-letter -o out/
Aplicar con am
git am 0001-fix.patch
git am out/*.patch
git am --3way out/*.patch
git am --abort
git am --skip
Parches binarios
git diff --binary > with-binaries.patch
git format-patch --binary -1
Solo stat o resumen
git diff --stat
git format-patch --stat=200 -1
Errores comunes
Generar con git diff cuando necesitabas metadatos; format-patch es la elección correcta. Olvidar --binary cuando el cambio incluye imágenes.
Range diff para revisión
git range-diff main..v1 main..v2