git am
Appliquer des patchs reçus par e-mail sous forme de commits
La commande 'git am' (apply mailbox) prend les fichiers patch créés par git format-patch et transforme chacun en commit, en gardant l’auteur, la date et le message d’origine. C’est l’extrémité réceptrice des contributions par e-mail. Si un patch ne s’applique plus, git am s’arrête ; corrigez puis lancez git am --continue, ou abandonnez avec git am --abort.
Synopsis
git am [--signoff] [--3way] [<mbox> | <patch-file>...]
git am (--continue | --skip | --abort)Options
Choisir la bonne option
Appliquer des patchs
Fichiers ou commits ?
| Commande | Crée un commit |
|---|---|
git apply fix.patch | Non — seulement les fichiers |
git am fix.patch | Oui — avec l’auteur d’origine |
Exemples
Appliquer des patchs
git am 0001-*.patchChaque fichier devient un commit.
Ajouter votre signature
git am -s 0001-fix.patchAjoute Signed-off-by avec votre nom.
Arrêter une application ratée
git am --abortTout revient comme avant.
Exemples de workflows
git switch -c review mainUne branche pour les tester
git am ~/patches/*.patchLes appliquer
git log --oneline main..Vérifier ce qui est arrivé
Dépannage
error: patch failed … patch does not apply
Cause : Vos fichiers diffèrent du contexte du patch
git am --abort, puis réessayez avec --3way, ou demandez un patch rebasé
Astuces et pièges
Bonnes pratiques
- ✓Appliquez les patchs sur une nouvelle branche, pas directement sur main.
Erreurs fréquentes
- ✗Utiliser git apply quand vous voulez des commits — apply ne change que les fichiers.
- ✗Laisser un git am raté à moitié fait : terminez avec --continue ou --abort.
FAQ
Cela signifie « apply mailbox » : il lit les patchs au format e-mail (mbox).