Utilisation des fichiers .patch avec Git

Utilisation des fichiers .patch avec Git

4 June 2023

Git, un système de contrôle de version largement utilisé, offre une fonctionnalité appelée patch pour faciliter ce processus. Un fichier .patch est une représentation textuelle des modifications apportées à un code source, permettant de partager facilement ces modifications avec d'autres.

Dans cet article, nous allons vous montrer comment créer et appliquer des fichiers .patch avec Git.

Qu'est-ce qu'un fichier .patch ?

Un fichier .patch est un type de fichier qui contient une liste de modifications apportées à un ou plusieurs fichiers. Il comprend différentes informations sur les fichiers modifiés, les lignes ajoutées ou supprimées, et les modifications spécifiques apportées. Ces fichiers sont souvent utilisés pour partager des modifications entre différentes copies d'un projet.

Comment créer un fichier .patch avec Git

La création d'un fichier .patch avec Git est un processus en deux étapes : faire un commit avec vos modifications, puis utiliser la commande git format-patch pour créer le fichier .patch.

1. Créer un commit avec vos modifications

Commencez par faire les modifications nécessaires dans votre copie du projet. Une fois que vous avez terminé, vous devez ajouter ces modifications à l'index de Git. Cela se fait avec la commande git add :

git add <fichier_modifié>

Ensuite, créez un commit avec ces modifications. Un commit est une "instantané" de vos modifications, qui sera enregistré dans l'historique de votre projet. Vous pouvez créer un commit avec la commande git commit :

git commit -m "message du commit"

2. Créer le fichier .patch

Maintenant que vous avez un commit avec vos modifications, vous pouvez créer un fichier .patch. Cela se fait avec la commande git format-patch :

git format-patch -1

L'argument -1 indique que vous voulez créer un fichier .patch pour le dernier commit. Si vous voulez créer un fichier .patch pour les trois derniers commits, par exemple, vous utiliseriez -3.

Cette commande crée un fichier .patch dans le répertoire courant. Le nom du fichier contiendra le numéro du commit et le message du commit.

Comment appliquer un fichier .patch avec Git

Avant de commencer, assurez-vous d'être dans le bon répertoire de travail.

Appliquez le patch avec la commande git apply. L'option -v (verbose) peut être ajoutée pour obtenir plus de détails sur le processus :

git apply -v /chemin/vers/votre/fichier.patch

Une fois le patch appliqué, vous pouvez utiliser git diff pour voir les modifications apportées. Si vous voulez distinguer les modifications apportées à un fichier spécifique, vous pouvez utiliser :

git diff /chemin/vers/le/fichier/modifié

Si les modifications vous semblent correctes, vous pouvez les valider avec un commit habituel :

git add /chemin/vers/le/fichier/modifié
git commit -m "Appliquer le patch"

Notes

Dans certains cas, le patch peut ne pas s'appliquer proprement. Si cela se produit, vous pouvez utiliser l'option --reject avec git apply pour créer des fichiers .rej pour chaque conflit. Vous pouvez alors résoudre manuellement ces conflits :

git apply --reject /chemin/vers/votre/fichier.patch