Control de Versiones con Git
Definición de control de versiones
- El control de versiones, también conocido como "control de código fuente", es la práctica de rastrear y gestionar los cambios en el código de software.
- Tipos de control de versiones
- Local computer
- Central VCS Server
- Distribuido
- ¿Qué es GIT?
- Es un sistema de control de versiones distribuido que facilita el trabajo en equipo.
- Ventaja: Auditoría de código, Control de cambios en el tiempo, Uso de etiquetas para versionar, Trabajo en equipo.
- Desventajas: Curva de aprendizaje
- Instalación GIT
- Comandos
Diferencias GitHub vs GitLab vs Bitbucket
- Free private repositories
- Free public repositories
- Integrated CI functionality
- Navigation usability
- File storage
- Open Source
- Integration
- Project Analytics
Iniciando con GIT
- Configuración
- git config --global user.name "Javier Guerrero"
- git config --global user.email "javierguerrero.tech@gmail.com"
- git config --global -l
- Comandos básicos
- git init
- git status
- git add <directory> o <file> // git add .
- git commit -"mensaje"
- git rm -cached <file>
- git log: Historial de cambios
- git commit --amend -m "mensaje cambiado"
- git reset --hard commit_hash
- git reflog
Estrategias de branching
Gitflow
- Ramas
- master: rama productiva, siempre disponible en el tiempo.
- develop: copia de master
- feature: rama de funcionalidad
- release: rama que se despliega
- ¿Que sucede si subiste varios features a develop, pero solo quieres desplegar un feature?
- Hay que quitar features que no se quieren :(
Trunk based Development
GitHub Flow
- abc
Notas:
- Estrategias de branching enfocadas en CI/CD: ABC y XYZ
- No se recomienda tener ramas por ambiente porque causan confusiones, conflictos, etc.
- Una misma rama se despliega en los 3 ambienes (Dev, QA, Production).
Comments
Post a Comment