Reconocimiento facial con cv2 y face_recognition
25 de junio de 2024Comandos útiles Jfrog Artifactory
10 de julio de 2024El flujo de trabajo con GitFlow se basa principalmente en dos ramas, la rama develop y la rama master. La rama develop es aquella rama donde convergen las ramas de desarrollo y la rama master que es nuestra rama principal o de producción, a partir de la cual van a crearse algunas ramas adicionales a master y develop tal y como por ejemplo:
- feature/
- release/
- hotfix/
- bugfix/
- support/
Gitflow es un modelo alternativo de creación de ramas en Git que utiliza ramas de función de larga duración y varias ramas principales.
Pasos:
# Crear repositorio y sus ramas master y develop
git branch develop
git branch master
# Clonar repositorio
git clone https://github.com/my-account/my-repo-name.git
# Crear rama develop a partir de master
git checkout -b develop master
# Listar las ramas
git branch -a
# Crear rama develop en el repositorio remoto (si no se ha hecho previamente)
git push --set-upstream origin develop
# Iniciar GitFlow
git flow init
Un ejemplo de cómo podríamos utilizar Gitflow en un proyecto en el que estemos trabajando en una nueva funcionalidad y haciendo varios lanzamientos:
- Comenzamos trabajando en la rama
develop
y creamos una nueva rama llamadafeature/nueva-funcionalidad
:
git checkout develop
git pull
git checkout -b feature/nueva-funcionalidad
2. Trabajamos en la nueva funcionalidad y hacemos varios commits
:
git add .
git commit -m "Agregando nueva funcionalidad"
git add .
git commit -m "Arreglando bugs en la nueva funcionalidad"
3. Cuando la nueva funcionalidad esté completa, hacemos un merge
a la rama develop
:
git checkout develop
git merge feature/nueva-funcionalidad
4. Decidimos hacer un lanzamiento y creamos una nueva rama llamada release/v1.0
a partir de develop
:
git checkout develop
git pull
git checkout -b release/v1.0
5. Hacemos algunos cambios y ajustes en la rama release/v1.0
y luego hacemos un merge
a la rama master
y a la rama develop
:
git add .
git commit -m "Ajustando algunos detalles antes del lanzamiento"
git checkout master
git merge release/v1.0
git tag -a v1.0 -m "Lanzamiento de la versión 1.0"
git checkout develop
git merge release/v1.0
6. Repetimos el proceso para hacer otro lanzamiento, creando una nueva rama release/v1.1
a partir de develop
, haciendo cambios y ajustes y haciendo de nuevo un merge
a master
y develop
.
Referencias
- Git Flow: https://nvie.com/posts/a-successful-git-branching-model/
- GitLab Flow: https://about.gitlab.com/blog/2014/09/29/gitlab-flow/
- GitHub Flow: https://guides.github.com/introduction/flow/
- Trunk-Based Development: https://trunkbaseddevelopment.com/