Cómo corregir el error de Git & lsquo; Los cambios locales en los siguientes archivos se sobrescribirán mediante merge & rsquo;

El mensaje de error " Sus cambios locales en los siguientes archivos se sobrescribirán mediante la combinación " aparece 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: sus cambios locales en los siguientes archivos se sobrescribirán mediante la combinación durante la codificación

Este mensaje de error se evita SI no hay archivos sin confirmar que también tengan modificaciones en el repositorio remoto. Al experimentar 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 empujar y tirar 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. Una ' extracción ' 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 una extracción, realiza cambios en el código o agrega más funciones. Una vez que haya terminado, " Empuje" el código en el repositorio para que se guarden los cambios y se realicen las adiciones. El código también se vuelve 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 tiene conocimientos básicos y conoce todos los entresijos.

¿Cómo corregir 'Sus cambios locales en los siguientes archivos se sobrescribirán mediante la combinació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 escondite 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 la misma página antes de seguir adelante. Si comete un error o empuja la versión incorrecta, podría afectar a todo el equipo.

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

Si no le importan 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 - git pull duro

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 conservar 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 utilizar las herramientas de 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 intermedio; no se perderán los cambios hasta que los elimine manualmente.

git agregar $ the_file_under_error git commit git pull

Cuando tenga un conflicto de fusión, saque 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 guardar los cambios de forma segura, extraer la versión del repositorio y luego eliminar el código.

git stash save --keep-index

o

git alijo
git pull git stash pop

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

aplicar git stash

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

Si la fusión no le parece una opción viable, considere hacer una nueva base. 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 confirmar todo lo que no desea sobrescribir y luego seguir el método 3. Puede usar el siguiente comando para los cambios que desea sobrescribir de la versión presente en el repositorio:

git ruta de pago / a / archivo / a / revertir

o

git checkout HEAD ^ ruta / a / archivo / a / revertir

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

git restablecer la ruta HEAD / a / archivo / a / revertir

Luego proceda con el comando de extracción:

git pull

Esto luego intentará obtener la versión del repositorio.