Usar el comando theirs con Git Merge
-
Use el comando
git merge
contheirs
en Git -
Use
--strategy-option
para resolver conflictos en Git - Use la rama temporal para fusionar en Git
Mientras desarrolla software con la herramienta Git, puede crear diferentes ramas para diferentes funciones. Pero puede haber conflictos entre diferentes ramas.
Este artículo explicará el uso del comando git merge
con la opción theirs
para resolver conflictos.
Use el comando git merge
con theirs
en Git
El comando git merge
puede combinar dos o más historias de desarrollo. Sin embargo, esta fusión a veces no se puede realizar debido a conflictos entre ramas.
Los archivos en ours
o theirs
deben descartarse para resolver este conflicto.
El ours
se refiere a la rama de trabajo original con la autoridad del historial de Git, y el theirs
se refiere a la rama que contiene las nuevas commits aplicadas.
Puede usar git merge -s ours
para descartar cambios en ours
. Este comando descarta todos los cambios de la otra rama y deja los archivos en su rama sin cambios.
La próxima vez que se fusione desde la otra rama, Git solo considerará los cambios realizados a partir de este punto. Sin embargo, la opción -s
no se puede utilizar con theirs
.
Use --strategy-option
para resolver conflictos en Git
Alternativamente, podemos usar theirs
con la opción -X
o --strategy-option
.
La principal diferencia entre las opciones -X
y -s
es que -X
realiza una fusión recursiva regular, resolviendo cualquier conflicto usando el lado elegido, mientras que -s
cambia la fusión para ignorar completamente el otro lado.
El siguiente comando resuelve cualquier conflicto usando el theirs
.
git merge -X theirs branchname
Use la rama temporal para fusionar en Git
Use los comandos a continuación para fusionar test2
en test1
desprotegido.
Cambie a la rama test1
.
git checkout test1
Combinar el commit sin conflictos. El contenido de ours
será descartado más adelante.
git merge -s ours test2
Crear una rama temporal.
git branch temp
Configure HEAD
con el comando git reset
. Obtiene contenidos de la rama test2
.
git reset --hard test2
Reinicie a confirmación fusionada pero mantenga el contenido con el comando git reset --soft
.
git reset --soft temp
Cambie el contenido de el commit fusionada con el contenido de test2
.
git commit --amend
Elimine la rama temporal que creamos anteriormente.
git branch -D temp
Puede ver que el commit fusionada contiene solo el contenido de test2
.
git diff HEAD test2
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn