Lo primero que quiero dejar en claro es que los nombres de las ramas son solo un alias para una confirmación específica. un commit es lo que funciona git, cuando tiras, presionas fusionar y así sucesivamente. Cada confirmación tiene una identificación única.
Cuando haces la fusión $ git, lo que realmente está sucediendo es que git intenta adelantar tu rama actual al commit en el que está activada la rama referenciada (en otras palabras, ambos nombres de rama apuntan al mismo commit). Este escenario es el más fácil para git para tratar, ya que no hay nuevo compromiso. Piensa en el maestro saltando sobre el lilipad en el que se relaja tu rama. Es posible establecer el indicador --no-ff, en cuyo caso git creará una nueva confirmación independientemente de si hubo algún conflicto de código.
En una situación en la que hay conflictos de código entre las dos ramas que está intentando fusionar (generalmente dos ramas cuyo historial de compromisos comparten un compromiso común en el pasado), el avance rápido no funcionará. Es posible que git pueda fusionar automáticamente los archivos, siempre que ambas ramas no hayan cambiado la misma línea en un archivo en conflicto. en este caso, git fusionará los archivos en conflicto por usted Y los confirmará automáticamente. Puede obtener una vista previa de cómo git haciendo $ git diff --cached. O puede pasar el indicador --no-commit al comando merge, que dejará los archivos modificados en su índice que necesitará agregar y confirmar. Pero puede $ git diff estos archivos para revisar qué cambiará la fusión.
El tercer escenario es cuando hay conflictos que git no puede resolver automáticamente. En este caso, deberá fusionarlos manualmente. En mi opinión, esto es más fácil de hacer con una fusión tomada, como araxis merge o p4merge (gratis). De cualquier manera, debe hacer cada archivo uno por uno. Si la fusión parece estar atascada, use $ git merge --continue, para empujarla. Git debería decirte si no puede continuar, y si es así, ¿por qué no? Si en algún momento sientes que has desarmado la fusión, puedes hacer $ git merge --abort, y cualquier fusión se deshará y podrás comenzar de nuevo. Cuando haya terminado, cada archivo que fusionó será un archivo modificado que debe agregarse y confirmarse. Puede verificar dónde están los archivos con el estado $ git. Si aún no ha confirmado los archivos combinados. Debe hacer eso para completar la fusión.
git commit gf2n.cpp -m "Hand merge gf2n.cpp due to conflicts"
resultadofatal: cannot do a partial commit during a merge.
. Y, por supuesto, las "confirmaciones parciales" no parecen estar documentadas ni discutidas en ninguna parte de las páginas de manual de git. Realizar unagit merge
después de los resultados del arreglo enPlease, commit your changes before you can merge.
qué una herramienta culo roto ...