HOWTO · Git
Solucionar problemas de error de parche de Git
Este artículo analiza cómo solucionar algunos errores comunes asociados con la aplicación de parches de git.
En esta página
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.