Documentos de Académico
Documentos de Profesional
Documentos de Cultura
● ¿Que es?: Hta. de software que permite gestionar el cambio del código y/o
documentos a lo largo del tiempo.
● ¿Para qué me sirve?
○ Tener el historial de cambios de toda mi información (trazabilidad).
○ Recuperar un estado que necesito en algún punto en el tiempo (esos puntos en el tiempo se
denominan “commits”, los veremos más adelante).
○ Podríamos decir que es otra manera de tener un “backup” de mi información (y en el caso de
git en forma distribuida!!)
○ Enormes equipos en un mismo proyecto.
¿Que es GIT?
● GIT es distribuído y como realiza una copia íntegra del proyecto, podés
trabajar localmente sin necesidad de conexión a la red. (No es posible en
otros versionadores).
● Operaciones locales: Como todo está en tu disco podés viajar a cualquier
punto en el tiempo de tu proyecto (acá usamos el Delorean time machine),
realizar modificaciones, etc. Lo que brinda velocidad y agilidad.
● Integridad: Comprobaciones con checksum (SHA-1), nada puede sufrir
cambios sin que git se entere!.
● Siempre agregamos: Al realizar los commits, siempre estamos agregando
información a la historia, lo que hace muy difícil perder o no ser capaces de
enmendar información.
¿Cómo funciona GIT?
Los 3 estados:
● Confirmado: Tus datos están almacenados y seguros en tu base de datos
local de git.
● Modificado: Tu/s archivo(s) están modificados, pero aún no se han
confirmado en tu base de datos.
● Preparado (Staged): Significa que has “marcado” tus archivo(s)
modificado(s) en su versión actual para que vayan en la próxima
confirmación.
Estos 3 estados implican 3 secciones principales de cualquier proyecto GIT:
● Git directory, working directory, staging area.
¿Cómo funciona GIT?
● Working directory: Es una copia de una versión del proyecto. Estos archivos
se sacan de la base de datos comprimida en el directorio de Git, y se colocan
en disco para que los puedas usar o modificar.
● ¿Que es gitlab?:
○ Para resumir, es una plataforma web que tiene un gestor de repositorios git. Lo que nos
permitirá sincronizar nuestro repo local con este nuevo “servidor”.
○ Utiliza una licencia opensource.
○ Sus desarrolladores son: Dmitriy Zaporozhets and Valery Sizov.
○ La plataforma fue desarrollada en ruby y go.
○ Además de permitirnos versionar nuestro código tiene muchísimas más funcionalidades muy
útiles para el desarrollo de software: wiki, issues-traking, CI/CD, etc.
○ Permite tener repositorios públicos y privados.
○ Tenemos que crearnos una cuenta para poder usarlo ---> ¡crearla ahora! :-)
● Volvemos al shell….
Mi primer PUSH
● git init
● git fetch
● git status
● git add {algo}
● git commit -{m} “mensaje”
● git checkout -b {nuevaRama}
● git checkout {ramaExistente}
● git push {remote_name} {branch_name}
● git pull {remote_name} {branch_name} → git fetch + git merge
● git merge {branch_name}
● git rebase {branch_name}
Cheat sheet (básica y muy útil):
https://rogerdudler.github.io/git-guide/index.es.html
¿Preguntas?
Muchas
Gracias