Solucionar problemas de error de parche de Git

John Wachira 23 agosto 2022
  1. Aplicar parches en Git
  2. Solucionar el error de parche de Git: file already exists in index
  3. Solucionar problemas de error de parche de Git: error in file
  4. Solucionar el error de parche de Git: patch does not apply
  5. Solucionar el error de parche de Git si ninguno de los comandos anteriores funciona
Solucionar problemas de error de parche de Git

Este artículo solucionará algunos errores comunes asociados con la aplicación de parches de git. Veremos cómo evitar errores y corregirlos cuando se produzcan.

Aplicar parches en Git

El comando git am puede aplicar parches en Git, como se muestra a continuación.

$ git am <patch_file>

Antes de aplicar un parche, asegúrese de estar en la rama correcta. Use el comando git checkout para cambiar a la rama en la que le gustaría aplicar el parche.

git checkout <Branch_Name>

Después de aplicar el parche, use el git log para verificar si fue exitoso.

$ git log --oneline --graph

A veces, se encontrará con errores al aplicar parches de git. Veamos algunos errores comunes y discutamos cómo tratarlos.

Solucionar el error de parche de Git: file already exists in index

Este error es uno de los errores comunes asociados con los parches de git y es bastante simple de manejar. Está intentando aplicar un parche que contiene archivos que ya están presentes en su rama.

Vuelva a verificar los archivos presentes en su índice. Use el comando git ls-files y agregue la opción --stage.

Ejemplo:

$ git ls-files --stage <directory>

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

Es probable que obtenga el error file already exists in index si su parche contiene uno de los archivos en el resultado anterior.

Puede remediarlo ignorando el error mientras aplica el parche. Deberá agregar el argumento --skip a su comando.

$ Git am --skip

Solucionar problemas de error de parche de Git: error in file

Este es un caso típico de errores de fusión. Es similar a los errores de combinación de ramas.

Puede remediarlo identificando y editando los archivos responsables.

Solucionar el error de parche de Git: patch does not apply

Este error ocurre cuando Git no puede determinar cómo aplicar su parche. A continuación se muestra un comando que puede utilizar para corregir este error.

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

Tenga en cuenta el argumento --reject. Lo usamos para indicarle a Git que parchee los archivos que pueda y cree un archivo .rej que contenga lo que no pueda encontrar cómo parchear.

Luego, puede resolver manualmente los conflictos. Alternativamente, puede usar el siguiente comando.

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

Solucionar el error de parche de Git si ninguno de los comandos anteriores funciona

Si nada de lo anterior funciona, recurra a una combinación de 3 vías. Usa el siguiente comando.

git apply --3way Mypatch.patch

Este comando le indicará a Git que haga los parches disponibles y lo dejará con los conflictos. Puede corregir manualmente los conflictos.

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

Artículo relacionado - Git Error