Git flow, feature branches :)
jesusfhohs
Posted on April 21, 2022
Hello! 😎 👽
Una vez dominando los términos generales de Git e aquà recomendaciones para trabajar con ramas, cabe mencionar que existen diferentes métodos para realizarlo...
Dependiendo de los ambientes que se tengan pueden ser:
- Development (dev)
- QA/Test (test)
- Staging (staging)
Partiendo desde main o master.
Podemos iniciar ya sea con master o bien con main
Jesús Fonseca@DESKTOP-BD5A9L MINGW64 /c/ (main)
$ git branch
* main
(En este caso main será nuestra rama principal)
Creando nueva rama
Se pueden optar por 2 métodos uno:
git branch (nombre de la rama)
git branch feat-new-feature
y posteriormente pasar a la rama creada con git switch
git switch feat-new-feature
o bien crearla y pasar a la rama con un solo comando
git switch -c feat-new-feature
Switched to a new branch 'feat-new-feature'
Para saber en que rama te encuentras puedes checarlo con git branch, o bien si requieres conocer tus ramas remotas y locales con git branch -a
$ git branch -a
main
* feat-new-feature
remotes/origin/HEAD -> origin/main
remotes/origin/main
Una vez que realices tus cambios en la rama creada es momento de subirlos a tu repositorio remoto
$ git status
On branch feat-new-feature
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: index.php
no changes added to commit (use "git add" and/or "git commit -a")
$ git commit -am "feature: rama de ejemplo"
[new-feature 94fb72d] feature: rama de ejemplo
1 file changed, 1 insertion(+), 1 deletion(-)
(una vez teniendo tu commit listo solo es mandarlo a tu repositorio remoto, la primera vez tendrás que crear tu rama)
con git push --set-upstream origin (nombre-rama)
git push --set-upstream origin new-feature
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 302 bytes | 75.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
Ya sea que te encuentres en GitLab o Github, podras hacer (si ya finalizaste tus cambios y realizado la cantidad necesaria de commits) la unión de tu rama via Merge Request o Pull Request respectivamente.
Podrás agregar una descripción e incluso indicar que esa rama se borrará una vez aceptada la petición de unión.
Quien se encargue de realizar la revisión aceptará o bien dará observaciones para poder hacerlo.
Una vez unido y si la opción fue eliminar la rama los cambios se encontrarán en main
Notarán que ya está unida y la rama no existe en el remoto
Pero de manera local quedará asà que... para borrar una rama de manera local, primero se debe de estar en una rama distinta
git switch main
Posteriormente se puede eliminar con el comando git branch -d (nombre de la rama)
git branch -d feat-new-feature
Notarás que si consultas tus ramas locales y remotas se podrán visualizar
git branch -a
* main
remotes/origin/main
remotes/origin/feat-new-feature
Asà que para que se descarten las ramas que ya no son necesarias se puede ocupar el comando git remote prune origin
$ git remote prune origin
Pruning origin
URL: https://gitlab.com/tuusuario/tuproyecto.git
* [pruned] origin/feat-new-feature
De esta manera quedará limpio con las ramas únicamente activas
$ git branch -a
* main
remotes/origin/main
Posted on April 21, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.