Introduccion a Git y Project Management con Git & Github


David Lopez

Git & Github
¿Como se colabora y se gestiona proyectos HOY?

Git & Github
Con sistemas de control de versiones



Git & Github


Git & Github
¿Que es GIT?
1.- Sistema de control de versiones
2.- Es distribuido

Git & Github


Git & Github


Git & Github
Distribuido


Git & Github
Distribuido = Independiente


Git & Github
Arquitectura de árbol


Git & Github


Git & Github


Git & Github


Git & Github
GIT Workflow - Iteración Básica


Git & Github
Reset
Hard: Working Directory = Staging Area = Repository
$ git reset --hard [SHA commit]
Git & Github
Reset
Mixed: Staging Area = Repository. Nada con Working Directory. Iteracion Basica.
$ git reset --mixed [SHA commit]
Git & Github
Reset
Soft: Cambios en el Repositorio. Staging = Working
$ git reset --soft [SHA commit]
Git & Github
Ramas
Una rama es una linea alterna del tiempo, en la historia de nuestro repositorio.

Git & Github
Fusiones
Solucion de conflictos:
- Fast-Forward
- Manual Merge

Git & Github
Fusiones
Solucion de conflictos:
Fast-Forward
Los gestores trabajan archivos diferentes al repositorio

Git & Github
Fusiones
Solucion de conflictos:
Manual Merge
¿Que pasa cuando 2 desarrolladores trabajan el mismo archivo en la fusion?

Git & Github
Rebase


Git & Github
Rebase


Git & Github
Rebase


Git & Github
Rebase


Git & Github
WORKFLOWS
¿Cómo logramos que varios profesionales trabajen sobre un proyecto de código sin matarse?

Git & Github
WORKFLOWS


Git & Github
Proyectos creados por ti - Repositorios personales.
- Eres propietario del proyecto.
- Personas alrededor proponen y tú decides si aceptar ó no.
- Proyectos personales, generalmente.

Git & Github
Conectarnos con GitHub
1. Crear usuario.
2. Crear repositorio.
3. Conectar con llave SSH a GitHub, desde tu área local.
$ ssh-keygen -t rsa -b 4096 -C "[email de GitHub]"
Dar enter. Aceptar la localización por defecto.
Contraseña.
$ cd ~/.ssh
$ cat id_rsa.pub
Copiamos la llave y la pegamos en Settings > SSH, dentro de GitHub.
Git & Github


Git & Github
Proyectos creados por tu organización ó equipos.
- Son propietarios del proyecto.
- Todos suben cambios, sin pedir permisos.
- Siempre verificar cambios nuevos antes de subir propios.

Git & Github
Git Fetch + Git Merge


Git & Github
Git Fetch + Git Merge


Git & Github
Git Fetch + Git Merge


Git & Github
Git Fetch + Git Merge


Git & Github
Git Fetch + Git Merge


Git & Github
Git Fetch + Git Merge


Git & Github
Git Fetch + Git Merge


Git & Github
Git Fetch + Git Merge


Git & Github
Git Fetch + Git Merge


Git & Github
Proyectos de terceros. (Repositorios “forked”)
- No son dueños, pero quieren colaborar en el desarrollo.
- Los propietarios aceptan y rechazan propuestas a través de “Pull Request”.

Git & Github
Proyectos de terceros. (Repositorios “forked”)
Existirán 2 repositorios:
a) El repositorio original.
b) El repositorio forked (La réplica del original, en tu cuenta de GitHub).

Git & Github


Git & Github


Git & Github


Git & Github


Git & Github


Git & Github


Git & Github
Proceso de repositorios “Forked"
- Actualizarnos siempre con el repositorio principal, antes de comenzar.
- Desarrollar y, antes de subir a nuestro repositorio “forked”, revisar nuevamente cambios.
- Subir a nuestro repositorio “forked” todo lo que hemos hecho.
- Ejecutar un “Pull Request"

Git & Github

Project Management

Git & Github

Gestion de Proyectos
By david25l
Gestion de Proyectos
- 422