Cabecera personalizada

El blog de Mikel Niño
Industria 4.0, Big Data Analytics, emprendimiento digital y nuevos modelos de negocio

Git y GitHub como sistema distribuido de control de versiones

GitHub fue lanzado en 2008 como una plataforma web a modo de "front-end" para trabajar con la herramienta open-source de control distribuido de versiones Git, actuando como una "forja" en la que almacenar repositorios de código. Con el paso del tiempo se ha convertido en una referencia obligada dentro de la pila tecnológica para el desarrollo open-source y la colaboración entre equipos de desarrollo, e incluso la cantidad y calidad de las contribuciones publicadas en tu cuenta de GitHub ha llegado a alcanzar entre los programadores un estatus de "currículum profesional" de mayor validez que el tradicional CV redactado en una hoja (aunque esta visión extrema cuenta también con detractores dentro de la propia comunidad de usuarios).

Para entender mejor su funcionamiento y por qué se ha convertido en una herramienta tan popular, os dejo uno de los contenidos más completos que se pueden encontrar como guía para iniciarse con Git y GitHub, este webinar (duración: 51:03, en inglés) a cargo de Matthew McCullough.



Para que te organices mejor el tiempo que puedes dedicarle y por si quieres priorizar unos contenidos sobre otros, el webinar está organizado de la siguiente manera:
  • (00:00-03:37) Presentación de los ponentes y de los contenidos del seminario
  • (03:37-07:54) "Why Git?". Razones por las que elegir Git como sistema distribuido de control de versiones.
  • (07:54-10:08) "Setting up Git". Herramientas disponibles para su instalación en función de la plataforma utilizada.
  • (10:08-41:45) "Using Git". Uso de Git desde la línea de comandos para crear un repositorio local, explorar su estructura, y crear y registrar ("add" + "commit") nuevos contenidos en el repositorio. Ejemplo de cómo se ve Git desde un interfaz gráfico (GUI). Crear un repositorio en remoto a través de GitHub y transmitir ("push") los contenidos del repositorio local en el remoto, preservando de manera sincronizada sus características. Contribuir en un repositorio existente en GitHub, creando una copia propia para trabajar en local ("fork" + "clone"), abriendo una nueva rama de trabajo ("branch" + "checkout") para crear nuevos contenidos, transmitirlos ("push") de vuelta a GitHub y solicitar al propietario del repositorio original su integración ("pull request"), para que la revise y decida si fusionarla ("merge") en el repositorio original, o pedir mejoras adicionales para aceptarla.
  • (41:45-45:10) "Git GUIs". Referencia de interfaces gráficos para el uso de Git en plataformas Mac y Windows. GitPad como herramienta híbrida entre interfaz gráfico y línea de comandos. EGit como integración en Git en Eclipse (IDE para Java).
  • (45:10-51:03) Reflexiones sobre el modelo de colaboración que proponen estas herramientas ("social coding", "fork and pull model"), diagramas que esquematizan el proceso de colaboración. Otros usos de este entorno: revisión de diferencias entre imágenes, registro de incidencias, usos corporativos
El seminario también contiene la referencia a otros recursos formativos como la guía "Pro Git" de Scott Chacon, navegable o descargable de manera gratuita, o a la colección de materiales de entrenamiento para GitHub.

No hay comentarios:

Publicar un comentario