Intro a proyectos colaborativos con Git/Hub

Ari Mora

@rlmrjmnz

Alcance

¿Para qué sirven?

Conceptos claves

¿Cómo se usan?

¿Pull-request?

Proyecto colaborativo

Múltiples personas

Múltiples aportes

Dinámico

¿Cómo se puede coordinar?

¿Git/Hub?

Sistema de control de versiones

Trazabilidad

Múltiples versiones

Historial de los cambios

Trabajo colaborativo

Git - Github

Control de versiones

Git - local

Github - en línea

Github

Github

Control de versiones distribuido

Lanzado en 2008

No son los únicos

Características propias

Otros CVS

Subversion

Mercurial

Otros "Git"

Bitbucket

Gitlab

Conceptos claves

Algunos conceptos básicos

Puede ser enredado

Snapshots

"Fotografía"

Estado actual de los cambios

Commit

"Acción de realizar un snapshot"

Tiene un identificador

Base del historial

Repositorio (Repo)

"Donde guardo los datos"

Historial de commits

Archivos

Acceso

Branches*

"Diferentes vistas de los datos"

Versiones

A nivel del mismo repo

Fork*

"Voy a hacer mi propia versión de los datos"

Versiones

A nivel de repos

Merge

"Mezclar diferentes versiones de los datos"

Branches

Mismo Repo - Diferentes Repos

¿Cómo se usa?

  1. Tener un repo
  2. Hacer cambios en el repo
  3. Agregar los cambios
  4. Guardar los cambios

Tener un repo

# "Forkeo" un repo o creo un repo en Github

# Creo o convierto un directorio en un repo
$ git init

# Clono o copio un repo
$ git clone url-repo

Hacer cambios

# Actualizar el repo local

$ git pull

# Crear una nueva rama

$ git checkout -b nueva-rama

# Realizar cambios sobre archivos
# o crear nuevos archivos

$ nano archivo.txt
$ touch nuevo-archivo.txt

Agregar los cambios

# Agrego los cambios realizados

$ git add nombre-del-archivo

# "Commiteo" los cambios

$ git commit -m "mensaje con los cambios"

Guardar los cambios

# Guardo los cambios en el servidor

$ git push origin nombre-del-branch

Pull-Request

Notificación de cambios

Revisado por otros

Discutir los cambios

Aceptar o rechazar los cambios

Pull-Request

Pull-Request

A nivel de branches

Mismo repo

Diferentes repos

Intro a GitHub

By Ari Mora

Intro a GitHub

  • 149