02.C Guía de push - MagDeveloper95/EscribePlus GitHub Wiki

En esta segunda parte nosotros en lugar de hacer PR al main, hemos optado por usar rebase que lo que hace es recopilar uno a uno los cambios confirmados en una rama, y reaplicarlos sobre otra. Así de esta manera tendremos un hilo único de trabajo en el cual no se podrá machacar nunca el main.

Para ello antes de empezar a con los cambios tendríamos que hacer el siguiente proceso :

-git status : Para cerciorarnos de que tenemos todo actualizado.
-git checkout main : Nos movemos a la rama main.
-git pull origin main : Buena práctica por si se nos ha olvidado hacer git status pullear el main antes de comenzar.

Ahora tras haber codificado la tarea que se nos ha asignado haremos lo siguiente :

-git checkout -b nombre_branch : Para crear nuestra nueva rama.
-git status : Para ver todo lo que ha cambiado.
-git add . : Añadimos todo a nuestra rama.
-git commit -m "Mensaje" : Commit obligatorio para poder pushear y dar información al resto del equipo cuando entre al proyecto.
-git push origin mgm-01: Para pushear y subir los cambios al repositorio de GitHub.

Por último solo tendríamos que hacer los cambios en el repositorio, los cuales se harán con rebase de la siguiente manera : -git checkout main : Vamos a la rama principal/original.
-git pull origin main : Nos traemos los cambios que hayan realizado nuestros compañero para cuando hagamos rebase esté todo actualizado.
-git checkout mgm-01 : Volvemos a nuestro branch para realizar cambios.
-git rebase main : Establecemos que el branch original está listo para merge.
-git checkout main : Volvemos al branch original.
-git merge mgm-01 : Hacemos el merge del original con nuestra rama.
-git push origin main : Pusheamos para actualizar el main.

Con esto habríamos terminado todo el proceso para poder trabajar en conjunto sin pisarnos ni machacar los datos de los demás, si se siguen estos pasos al pie de la letra no debería dar ningún tipo de conflicto. Por último os dejaré unos comando útiles para el uso diario.

-git fetch -p : Nos actualiza las ramas locales y borra las que no exitan en remoto, esto lo usaremos cuando no nos deje borrar un branch.
-git push <remote> --delete <branch> : Borra un branch en remoto.
-git branch -d "Nombre de la rama" : Borra una branch local.
-git branch -D "Nombre de la rama" : Fureza la eliminación de una branch en local, incluso si aún esta no ha sido empujada o fusionada aún.
-git push origin branch --force : Fuerza un proceso, es un comando PELIGROSO, CUIDADO.
-git merge --abort : Para terminar un merge.
-git add/remove <File> : Para cuando nos de conflicto el merge añadir o borrar los ficheros que den problemas.

⚠️ **GitHub.com Fallback** ⚠️