1 - Básico
2 - Básico
3 - Intermedio
Que es Git
Software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente.
Que es GitHub
"GitHub es una plataforma de desarrollo colaborativo de software para alojar proyectos utilizando el sistema de control de versiones Git. El código se almacena de forma pública, aunque también se puede hacer de forma privada, creando una cuenta de pago."
Generes un proyecto, vayas salvando sus cambios y puedas viajar en el tiempo con él.
1.1 Instalación
1.2 Sistemas de Control de Versiones.
1.3 ¿Qué es Git?
1.4 Arquitectura de Árbol.
1.5 Configurando GIT.
a) Entren a http://git-scm.com
b) Escoja dependiendo de Windows, Mac, Linux
1) Registran y guardan cada modificación del proyecto en un registro. Todo lo que modificas, lo vigilan.
2) Te dan acceso a este registro. Con esto, puedes gestionarlo, compartirlo, colaborarlo, administrarlo, editarlo, etc.
3) Podrás moverte hacia atrás o hacia adelante en diferentes momentos del proyecto.
Abrir terminal, consola, bash
$ git --version
$ git config --global user.name "TU NOMBRE"
$ git config --global user.email "TU CORREO DE GITHUB"
$ git config --global color.ui true
$ git config --global --list
¡Practica! ¡Falla! ¡Experimenta!
2.1 Propuestas de proyectos
2.2 Ramas (Branches)
2.3 Fusiones (Merge)
¿Cómo puedo intervenir positivamente en el proyecto sin afectarlo?
Una rama es una línea alterna del tiempo, en la historia de nuestro repositorio.
Funciona para crear features, arreglar bugs, experimentar, sin afectar la versión estable, la línea principal, del proyecto.
El concepto HEAD
¿En qué punto de la historia de nuestro proyecto nos encontramos?
Practiquemos ramas
git branch [nombre]
git log --oneline --graph --all
git config --global alias.nicelog 'log --oneline --graph --all'
Repitamos el proceso de la fusión
git checkout [branch]
git checkout [branch]
git checkout [branch]
Hagamos la fusión
Fu...
...sión!
La fusión tiene la mezcla de los cambios de ambas ramas
Lo mejor de ambas, establecidas por el gestor del proyecto
Solución de conflictos
a) Fast-Forward
b) Manual Merge
Solución de conflictos
Fast-Forward
Los gestores trabajaron archivos diferentes al repositorio
Solución de conflictos
Manual Merge
¿Qué pasa cuando 2 desarrolladores trabajan el mismo archivo en la fusión?
Duas, Preguntas, Criticas
1) GitHub
2) Repositorios propios
3) Repositorios "forked"
Es una plataforma social para construir proyectos web.
Flujos de trabajo colaborativos.
Exploración: Git Clone
$ git clone [https or SSH]
$ git log (comprobar commits)
Git Clone
Git Clone
Git Clone
1) Repositorios propios (Sólo YO)
- Ustedes son los dueños de su proyecto
- Si alguien decide participar, ustedes deciden si aceptan sus propuestas
- Sirve para guardar proyectos, regularmente personales.
1) Crear un repositorio
2) Vincularlo con nuestra PC
3) Generar cambios y subirlos a GitHub
Subir cambios a GitHub
Subir cambios a GitHub
Subir cambios a GitHub
Subir cambios a GitHub
Subir cambios a GitHub
Subir cambios a GitHub
$ git init
$ git remote add origin [HTTPS or SSH]
$ git remote -v
Generamos cambios
$ git commit -am "[Mensaje]"
$ git push origin master
- Es lo mismo que el proceso anterior.
- Todos los cambios que hagan nuestros colaboradores lo subirán al repositorio
- Es nuestra obligación, descargar los nuevos cambios antes y después de codificar.
Git Fetch & Git Merge
Git Fetch & Git Merge
Git Fetch & Git Merge
Git Fetch & Git Merge
Git Fetch & Git Merge
Git Fetch & Git Merge
Git Fetch & Git Merge
Git Fetch & Git Merge
Git Fetch & Git Merge
Git Fetch & Git Merge
Git Fetch & Git Merge
Creamos ó entramos a la carpeta de nuestro proyecto
$ git init (si apenas vamos a iniciar)
$ git remote add origin [HTTS or SSH]
$ git fetch origin
$ git merge origin/master
Hacen cambios
$ git fetch origin
$ git merge origin/master
$ git push origin master
https://github.com/sesva