Git 101
Preliminares DevOps
Version Control
• Gestión de código colaborativo
• Sincronizar el trabajo de diferentes personas
• Graba información extra en un directorio llamado .git
• Staging Area: área de trabajo donde se encuentran cambios no salvados
• Salvarlos es como ponerlos en una caja; esta caja se llama commit
Secciones principales proyecto GIT
Modificas una serie de archivos en tu directorio de trabajo.
Preparas los archivos, añadiéndolos a tu área de preparación.
Confirmas los cambios, lo que toma los archivos tal y como están en el área de
preparación, y almacena esas instantáneas de manera permanente en tu
directorio de Git
1 2 3
1
2
3
Git Directory. El directorio de Git es donde Git almacena los metadatos y la base de datos de objetos
para tu proyecto.
Working directory. El directorio de trabajo es una copia de una versión del proyecto
Staging area. El área de preparación es un sencillo archivo, generalmente contenido en tu directorio
de Git, que almacena información acerca de lo que va a ir en tu próxima confirmación.
Flujo de trabajo
Local
Repository
Staging Area
> git init
Working
Directory
Modo 1. Inicializando un repositorio en un directorio existente
Obtener un repositorio
Working
Directory
Local
Repository
Staging Area
> git clone
Remote Repository
origin
Repositorio remoto
Modo 2. Clonando un repositorio existente
> git status
Tracked
(bajo seguimiento)
Untracked
(sin seguimiento)
Unmodified
(sin modificación)
Modified
(modificado)
Staged
(preparado)
Estado de los archivos
Working
Directory
Local
Repository
Staging Area
untracked
unmodified
modified
staged
Archivos nuevos
Working
Directory
Local
Repository
Staging Area
untracked
unmodified
modified
staged
> git add
Seguimiento de archivos nuevos
Working
Directory
Local
Repository
Staging Area
unmodified
untracked
modified
staged
> git commit
Confirmando los cambios
> git log
Historial de commits
Working
Directory
Local
Repository
Staging Area
> git remote add origin
Remote Repository
origin
Repositorio remoto
Working
Directory
Local
Repository
Staging Area
> git push
Remote Repository
origin
PUSH
Enviando cambios a repositorios remotos
Working Copy RepositoryStaging Area
> git pull
Remote Repository
origin
PULL
Recibiendo cambios de repositorios remotos
Working Copy RepositoryStaging Area
> git diff
Remote Repository
origin
--staged
default
Diferencias
Working
directory
Local
Repository
Staging Area
untracked
unmodified
modified
staged
> git reset
Deshacer la preparación de un archivo
Working
directory
Local
Repository
Staging Area
unmodified
untracked
modified
staged
> git checkout --
Deshacer la modificación de un archivo
Working
directory
Local
Repository
Staging Area
untracked
unmodified
modified
staged
> git rm
Eliminando archivos del control de versiones
Crear un branch
> git branch testing
Cambiando al branch clean_up (checkout)
> git checkout clean_up
Clean_up
• HEAD: commit mas reciente
• HEAD~1 un commit antes del mas reciente
• .gitignore file
• git config --list
merge
master
features/cleanup
1 Pararse en el branch receptor
2 Recibir cambios que llegan de fuera
$ git checkout master
$ git fetch
3 Unir los cambios que llegan
$ git merge features/cleanup
4 Eliminar branch si es necesario
$ git branch -d features/cleanup
Recursos
• trygit
• Git en 15 minutos
• DataCamp / Git for DataScience
• Coursera JHU / DataScience
Specialization
• The datascientist toolbox
FIN

Git 101