On Github lmrarturo / GitPresentacion
Created by Arturo Mendoza / @lmrarturo
Crear proyectos bajo un control de versiones de manera profesional.
a) Entren a http://git-scm.com
b )Escoja dependiendo de Windows, Mac, Linux
Todo lo que modificas en tu proyecto lo registran y guardan
Tienes acceso a cada registro y puedes gestionarlo, colaborarlo, compartirlo, editarlo, etc.
Podrás viajar en el tiempo entre tus registros en diferentes momentos del proyecto.
Quiero intervenir en un proyecto ¿Cómo lo puedo hacer sin afectarlo?
Existe un bug ¿Cómo lo resuelvo son afectar el avance de mi equipo?
Como profesionales, proponer es una de las habilidades más importantes para crecer dentro de una empresa.
Por ello, en GIT, existen las ramas, también conocidos como "branches".
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.
Nos ayudará a saber en qué tiempo nos encontramos.
git branch [nombre]
git log --oneline --graph --all
git config --global alias.nicelog 'log --oneline --graph --all'
a) Fast-Forward b) Manual Merge
Los desarrolladores trabajaron en archivos diferentes para fusionar en el repositorio.
¿Qué pasa cuando dos desarrolladores o más trabajan en un mismo archivo para fusionar?
¿Preguntas?
Plataforma social para construir proyectos de código.
Flujos de trabajo COLABORATIVOS
¿Cómo logro que varios profesionales de código trabajen en un mismo proyecto sin morir en el intento?
$ git clone [https or SSH]
$ git log (comprobar commits)
- 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
SSH (Secure SHell): Protocolo seguro para intercambio de información cifrada a tráves de la terminal.
HTTPS (Hypertext Transfer Protocol Secure): Protocolo HTTP pero seguro...
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
$ 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.
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
- Ustedes no son los dueños pero quieren participar en el desarrollo.
- Los dueños del proyecto le dan la visión (que commits sí y que commits no)
- Todo esto a través del concepto de Pull Request (PR)
Necesitamos conectar 2 repositorios.
1) Su repositorio forked (el que se colocó en su cuenta de GitHub y son dueños)
2) El repositorio principal (no son dueños)
La idea es:
- Siempre que vayamos a iniciar cambios, actualizarnos con el proyecto principal.
- Hacer nuestros cambios, experimentos, etc.
- Revisar nuevamente si no hubo cambios con el proyecto principal.
- Subir a nuestro forked repository todo lo que hemos hecho.
- Si queremos, crear un pull request para colaboración.
$ git remote add origin [HTTPS ó SSH del proyecto forked]
$ git remote add upstream [HTTPS ó SSH del proyecto "main"]
$ git fetch upstream
$ git merge origin/upstream
$ git fetch origin
$ git merge origin/master
Hacer cambios en local
$ git fetch upstream
$ git merge origin/upstream
$ git push origin master
- Visita mi Blog arturomendoza.me - Sígueme en Twitter @lmrarturo