Estoy enfrentando un problema mientras trabajo con git.

Escenario:

Mi compañero de equipo y yo estamos trabajando en un código. Digamos que tiene 2 archivos.

File-1
File-2

Supongamos que en el día 1 ambos tenemos código al mismo nivel, digamos Commit-0.

El día 2, mi compañero de equipo impulsó algunos cambios en File-1. Este es commit-1.

El día 3, quiero hacer algunos cambios en el Archivo-2, pero antes de eso, tomo un tirón para obtener los últimos cambios. Entonces mi código ahora está en commit-1.

Estoy en proceso de realizar algunos cambios en el Archivo-2 y aún no los he introducido.

Solo en el día 3, mi compañero de equipo realiza algunos cambios más en el Archivo-1, pero en lugar de enviarlos como una nueva confirmación, usa amend y edita su commit-1 original, digamos que la nueva confirmación es ahora { {X2}}

El día 4, ahora quiero impulsar mis cambios en el Archivo-2. Pero solo para asegurarme de que no haya conflictos, guardo mis cambios y luego ejecuto git pull.

Tan pronto como hago esto, aparece un error de fusión automática en el Archivo-1.

Para mí es difícil hacer una fusión manual porque no tengo idea de lo que se está haciendo en el Archivo-1.

Por ahora, estoy exportando mi alijo en un .patch. Luego, realice una nueva comprobación del código más reciente y luego aplique los cambios de parche, que es una muy mala solución.

Sugiera qué debo hacer en este caso.

git
1
rahul s 23 oct. 2020 a las 12:09

1 respuesta

La mejor respuesta

Restablezca su sucursal local al estado remoto para comenzar de nuevo desde la última confirmación modificada de su compañero de trabajo y aplique su alijo en eso. (También podría hacer una copia de seguridad de su sucursal local primero).

git branch backup_local
git reset --hard @{upstream}
git stash apply

Luego, resuelva los conflictos, si los hubiera.

1
RomainValeri 23 oct. 2020 a las 09:12