Ari Mora
Tech Geek. FOSS and Open Hardware enthusiast. R&D aspirant.
Ari Mora
@rlmrjmnz
¿Para qué sirven?
Conceptos claves
¿Cómo se usan?
¿Pull-request?
Múltiples personas
Múltiples aportes
Dinámico
¿Cómo se puede coordinar?
Sistema de control de versiones
Trazabilidad
Múltiples versiones
Historial de los cambios
Trabajo colaborativo
Control de versiones
Git - local
Github - en línea
Github
Control de versiones distribuido
Lanzado en 2008
No son los únicos
Características propias
Subversion
Mercurial
Bitbucket
Gitlab
Algunos conceptos básicos
Puede ser enredado
"Fotografía"
Estado actual de los cambios
"Acción de realizar un snapshot"
Tiene un identificador
Base del historial
"Donde guardo los datos"
Historial de commits
Archivos
Acceso
"Diferentes vistas de los datos"
Versiones
A nivel del mismo repo
"Voy a hacer mi propia versión de los datos"
Versiones
A nivel de repos
"Mezclar diferentes versiones de los datos"
Branches
Mismo Repo - Diferentes Repos
# "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
# 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
# Agrego los cambios realizados
$ git add nombre-del-archivo
# "Commiteo" los cambios
$ git commit -m "mensaje con los cambios"
# Guardo los cambios en el servidor
$ git push origin nombre-del-branch
Notificación de cambios
Revisado por otros
Discutir los cambios
Aceptar o rechazar los cambios
A nivel de branches
Mismo repo
Diferentes repos
By Ari Mora