Skip to content

Instantly share code, notes, and snippets.

@danielmateu
Created September 18, 2023 11:06
Show Gist options
  • Save danielmateu/1317b0ef87d34f40bdcf0e3e4076b80f to your computer and use it in GitHub Desktop.
Save danielmateu/1317b0ef87d34f40bdcf0e3e4076b80f to your computer and use it in GitHub Desktop.
Git Ramas y Resolución de Conflicots
Las ramas nos ayudaran cuando queramos añadir funcionalidades a nuestro proyecto, una nueva rama es una bifurcación que nos permitirá realizar modificaciones sin implicar la rama Main
Merge - Uniones
Fast-forward -> No hay ningún cambio a la rama principal y se realiza la unión sin problema
Uniones automáticas -> Git detecta que en la rama principal que el las otras ramas desconocemos, cuando hacemos el merge git entiende que no hay conflictos y las ramas se unen
Union Manual -> Debemos resolver nosotros el conflicto de forma manual realizando un commit nuevo: Merge Commit.
git branch <nombre de la rama> -> Para crear la nueva rama
git checkout <nombre de la rama a la que nos queremos mover>
Para atraer los cambios de la rama hija a la master, debemos estar en la rama principal
git merge <rama a la que queremos hacer merge>
Cuando ya hemos realizado el merge, se debe eliminar la rama hija
git branch -d <rama a eliminar> -f (si queremos forzar la eliminación)
Si queremos crear la rama y movernos a ella directamente
git checkout -b <nombre de la rama>
Si queremos hacer push de la rama, hacemos git push en la rama y nos lanzará un error con una recomendación. Copiamos y pegamos
Uniones con conflictos
Podemos modificar manualmente los cambios en el archivo que va a realizar el merge, una vez resuleto el confilicto hacemos un commit y eliminamos la rama hija.
git status -sb -> Abreviatura para saber en que branch estamos y tenemos
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment