Otra razón es cuando se tiene una rama que es muy fuera de sincronía con su rama activa, y desea actualizar el viejo con la que está activa, pero es posible combinar los conflictos evitar que esto se haga fácilmente con una combinación normal.
Por ejemplo, mi caso de uso fue de:
Usted tiene una rama principal y dev, y por alguna razón, no han actualizado su rama principal en semanas, y su intento de fusionar su sucursal dev en maestro ahora resultados en conflictos de fusión. Lo que puede querer hacer es sobreescribir su rama maestra con el estado actual de su rama de desarrollo, así que ponga ambas sincronizadas.
Lo que puede hacer en este caso es el siguiente, siguiendo los pasos descritos por otro usuario de SO in another SO answer here. Pero, por favor, consulte mi nota de advertencia a continuación.
git checkout dev
git merge -s ours master
git checkout master
git merge dev
Vale la pena una breve nota: Al final de la misma, mi maestro estaba al día con mi dev, pero mostró dev 4 compromete a ser empujados a la distancia, lo cual es extraño. Debería haber 0 para enviar, ya que solo quería actualizar el maestro. Sin embargo, el código parecía estar bien. Solo vale la pena señalar, ya que nunca antes había usado git merge -s ours
antes de este momento, así que no estoy 100% en su uso.
También he encontrado otra respuesta usando ours
que podría ser útil para la gente: https://stackoverflow.com/a/13307342/339803
Aunque muy tarde: un vistazo [aquí] (http://stackoverflow.com/a/1426163/5784831) – Christoph