git am
Aplica parches de archivos de correo como commits
El comando 'git am' (apply mailbox) toma los archivos de parche creados por git format-patch y convierte cada uno en un commit, conservando el autor, la fecha y el mensaje originales. Es el extremo receptor de las contribuciones por correo. Si un parche ya no se aplica, git am se detiene; arréglalo y ejecuta git am --continue, o abandona con git am --abort.
Sinopsis
git am [--signoff] [--3way] [<mbox> | <patch-file>...]
git am (--continue | --skip | --abort)Opciones
Elegir la opción adecuada
Aplicar parches
¿Archivos o commits?
| Comando | Crea un commit |
|---|---|
git apply fix.patch | No — solo archivos |
git am fix.patch | Sí — con el autor original |
Ejemplos
Aplicar parches
git am 0001-*.patchCada archivo se convierte en un commit.
Añadir tu firma
git am -s 0001-fix.patchAñade Signed-off-by con tu nombre.
Detener una aplicación fallida
git am --abortTodo vuelve a como estaba.
Ejemplos de flujos de trabajo
git switch -c review mainUna rama para probarlos
git am ~/patches/*.patchAplicarlos
git log --oneline main..Comprobar lo que llegó
Solución de problemas
error: patch failed … patch does not apply
Causa: Tus archivos difieren del contexto del parche
git am --abort, luego reintenta con --3way, o pide un parche con rebase
Consejos y trampas
Buenas prácticas
- ✓Aplica los parches en una rama nueva, no directamente sobre main.
Errores comunes
- ✗Usar git apply cuando quieres commits — apply solo cambia archivos.
- ✗Dejar un git am fallido a medias: termina con --continue o --abort.
Preguntas frecuentes
Significa «apply mailbox»: lee parches en formato de correo (mbox).