Cómo corregir el error de Git ‘Sus cambios locales en los siguientes archivos se sobrescribirán con la fusión’

El mensaje de error “ Sus cambios locales a los siguientes archivos serán sobrescritos por fusión ” ocurre en el mecanismo de control de versiones de Git. Este error ocurre si ha modificado un archivo que también tiene modificaciones en el repositorio remoto.

Error de Git: la fusión sobrescribirá los cambios locales en los siguientes archivos

Este mensaje de error se evita SI no hay archivos no confirmados que también tengan modificaciones en el repositorio remoto. Cuando experimente este mensaje, es mejor consultar a los otros miembros de su equipo y pedir su opinión. Ya sea que desee fusionar sus cambios locales o mantener la versión presente en el repositorio, es mejor mantener a todos a bordo.

¿Qué son los repositorios? ¿Qué son push and pull en Git?

Un repositorio es un tipo de almacenamiento de código que los miembros del equipo modifican y obtienen constantemente a través del mecanismo de control de versiones de GitHub. A ‘ Jalar’ significa que está extrayendo la última versión del repositorio en su almacenamiento local/IDE (Entorno de desarrollo integrado) como Pycharm, etc.

Después de un Pull, realiza cambios en el código o agrega más funciones. Una vez que haya terminado, usted ‘ Empujar’ el código en el repositorio para que se guarden los cambios y se realicen adiciones. El código también es accesible para otras personas.

Si es nuevo en el control de versiones de Github, se recomienda que primero revise todos los conceptos básicos. En este artículo, asumimos que ya tienes los conocimientos básicos y conoces todos los entresijos.

¿Cómo arreglar ‘Sus cambios locales en los siguientes archivos serán sobrescritos por fusión’?

La resolución de este mensaje de error depende de lo que desee hacer. Puede descartar sus cambios locales y extraer los del repositorio o puede guardar sus cambios locales en un alijo y extraer la versión del repositorio. Todo depende de tu preferencia.

Por lo tanto, le recomendamos que consulte con los miembros de su equipo y se asegure de que todos están en el misma página antes de seguir adelante. Si se compromete incorrectamente o presiona la versión incorrecta, podría afectar a todo el equipo.

Método 1: forzar una extracción para sobrescribir los cambios locales

Si usted no se preocupan por los cambios realizados localmente y desea obtener el código del repositorio, puede forzar una extracción. Esto sobrescribirá todos los cambios locales realizados en su computadora y aparecerá una copia duplicada de la versión en el repositorio.

Ejecute los siguientes comandos en su IDE:

                      git reset -- hard

git pull
                    

Esto destruirá instantáneamente todos sus cambios locales, así que asegúrese de saber lo que está haciendo y no necesita sus cambios locales.

Método 2: mantener ambos cambios (locales y del repositorio)

Si desea mantener ambos cambios (cambios realizados localmente y cambios presentes en el repositorio), puede agregar y confirmar sus cambios. Cuando tire, obviamente habrá un conflicto de fusión. Aquí puede usar las herramientas en su IDE (como Difftool y mergetool) para comparar las dos piezas de código y determinar qué cambios conservar y cuáles eliminar. Este es el camino del medio; no se perderán los cambios hasta que los elimine manualmente.

                      git add $the_file_under_error

git commit

git pull
                    

Cuando obtenga un conflicto de combinación, abra esas herramientas de resolución de conflictos y verifique línea por línea.

Método 3: Mantener ambos cambios PERO no comprometerse

Esta situación ocurre de vez en cuando cuando los desarrolladores no están listos para comprometerse porque hay algún código parcialmente roto que está depurando. Aquí podemos ocultar los cambios de forma segura, extraer la versión del repositorio y luego desbloquear su código.

                      git stash save --keep-index
                    

o

                      git stash
                    
                      git pull

git stash pop
                    

Si hay algunos conflictos después de abrir el alijo, debe resolverlos de la manera habitual. También puedes usar el comando:

                      git stash apply
                    

en lugar de pop si no está listo para perder el código escondido debido a conflictos.

Si fusionar no parece una opción viable para usted, considere hacer una reorganización. Rebasar es el proceso de mover o combinar una secuencia de confirmaciones a una nueva confirmación base. En el caso de rebase, cambie el código a:

                      git stash

git pull --rebase origin master

git stash pop
                    

Método 4: realice cambios en partes ‘específicas’ de su código

Si desea realizar cambios en partes específicas del código y no desea reemplazar todo, puede comprometerse todo lo que no desea sobrescribir y luego siga el método 3. Puede usar el siguiente comando para los cambios que desea sobrescribir de la versión presente en el repositorio:

                      git checkout path/to/file/to/revert
                    

o

                      git checkout HEAD^ path/to/file/to/revert
                    

Además, debe asegurarse de que el archivo no esté preparado a través de:

                      git reset HEAD path/to/file/to/revert
                    

Luego proceda con el comando pull:

                      git pull
                    

Esto intentará obtener la versión del repositorio.

Leer siguiente

  • ¿Cómo fusionar dos ramas en Git?
  • Cómo corregir el error de Git: primero debe resolver su índice actual
  • Cómo corregir el error ‘Fatal: el origen no parece ser un repositorio de Git’
  • [FIX] Error de ‘infracción de acceso’ de complementos de combinación

Related Posts