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).

Resources

Comments

Popular posts from this blog

Week #1: Definición de objetivos, desglose de trabajo

Week #2: Azure App Service

Registro de Excepciones