Résoudre les erreurs de correctif Git

John Wachira 30 janvier 2023
  1. Appliquer des correctifs dans Git
  2. Résoudre l’erreur de correctif Git : file already exists in index
  3. Résoudre l’erreur de correctif Git : error in file
  4. Résoudre l’erreur de correctif Git : patch does not apply
  5. Résoudre l’erreur de correctif Git si aucune des commandes ci-dessus ne fonctionne
Résoudre les erreurs de correctif Git

Cet article résoudra certaines erreurs courantes associées à l’application de correctifs git. Nous verrons comment éviter les erreurs et les corriger lorsqu’elles se produisent.

Appliquer des correctifs dans Git

La commande git am peut appliquer des correctifs dans Git, comme indiqué ci-dessous.

$ git am <patch_file>

Avant d’appliquer un patch, assurez-vous d’être sur la bonne branche. Utilisez la commande git checkout pour basculer vers la branche sur laquelle vous souhaitez appliquer le correctif.

git checkout <Branch_Name>

Après avoir appliqué le patch, utilisez le git log pour vérifier s’il a réussi.

$ git log --oneline --graph

Parfois, vous rencontrerez des erreurs lors de l’application des correctifs git. Examinons quelques erreurs courantes et discutons de la façon de les traiter.

Résoudre l’erreur de correctif Git : file already exists in index

Cette erreur est l’une des erreurs courantes associées aux correctifs git et est assez simple à gérer. Vous tentez d’appliquer un correctif contenant des fichiers déjà présents dans votre branche.

Revérifiez les fichiers présents dans votre index. Utilisez la commande git ls-files et ajoutez l’option --stage.

Exemple:

$ git ls-files --stage <directory>

700574 eaa5fa8755fc20f08d0b3da347a5d1868404e462 0       file1.txt
670644 61780798228d17af2d34fce4cfbdf35556832472 0       file2.txt

Vous risquez d’obtenir l’erreur le fichier existe déjà dans l'index si votre correctif contient l’un des fichiers de la sortie ci-dessus.

Vous pouvez y remédier en ignorant l’erreur lors de l’application du correctif. Vous devrez ajouter l’argument --skip à votre commande.

$ Git am --skip

Résoudre l’erreur de correctif Git : error in file

Il s’agit d’un cas typique d’erreurs de fusion. C’est similaire aux erreurs de fusion de branche.

Vous pouvez y remédier en identifiant et en éditant les fichiers responsables.

Résoudre l’erreur de correctif Git : patch does not apply

Cette erreur se produit lorsque Git ne peut pas déterminer comment appliquer votre correctif. Vous trouverez ci-dessous une commande que vous pouvez utiliser pour corriger cette erreur.

git apply --reject --whitespace=fix mychanges.patch

Notez l’argument --reject. Nous l’utilisons pour demander à Git de patcher les fichiers qu’il peut et de créer un fichier .rej contenant ce qu’il ne sait pas comment patcher.

Ensuite, vous pouvez résoudre manuellement les conflits. Alternativement, vous pouvez utiliser la commande ci-dessous.

git apply --ignore-space-change --ignore-whitespace mypatch.patch

Résoudre l’erreur de correctif Git si aucune des commandes ci-dessus ne fonctionne

Si aucune des solutions ci-dessus ne fonctionne, revenez à une fusion à 3 voies. Utilisez la commande ci-dessous.

git apply --3way Mypatch.patch

Cette commande demandera à Git de créer les correctifs disponibles et vous laissera avec les conflits. Vous pouvez résoudre manuellement les conflits.

Auteur: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn