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

  • 367