TertulIA

Aprendiendo Git

Alejandro Trujillo Caballero

http://slides.com/truji92/deck/live

TertulIA

TertulIA

Qué es 

TertulIA

Sofware de control de versiones diseñado por Linus Torvalds

 

TertulIA

Plataforma de desarrollo colaborativo de software para alojar proyectos utilizando el sistema de control de versiones Git. 

TertulIA

Primer paso: Crear el repositorio

git init

git clone <repositorio>

TertulIA

Configurando git

git config --global user.name <name>

git config --global user.email <email>

git config --global --edit

O editando el archivo de configuración

TertulIA

Ignorando Archivos

Podemos hacer que git ignore archivos o directorios

Esto se indica en el archivo .gitignore 

*.exe

./build

TertulIA

Guardando nuestro trabajo

git add

git commit

git add ./src/HolaMundo.java

git commit -m "Implementada clase HolaMu..."

git add -A

TertulIA

Comunicación con el repositorio público

git pull

git push

Para actualizar nuestro repositorio local

Para enviar nuestro trabajo al repositorio remoto

TertulIA

¿Y a dónde va todo esto esto?

git status

git log

git log --oneline

a1e8fb5 El botón funciona!!!

872fa7e Creando interfaz gráfica

b7119f2 Commit Inicial

Archivos modificados sin añadir, archivos añadidos listos para hacer commit, etc...

TertulIA

Moviendonos

git checkout <commit>

git checkout <commit> <file>

git checkout <branch>

Para ir a un commit concreto

Para recuperar el estado de un archivo en un commit 

Para cambiar a otro branch

git checkout b7119f2

TertulIA

¿Y tengo que usar el número raro ese para identificar los commits?

git checkout HEAD^

Para ir al commit anterior al actual

git checkout HEAD~n

Para retroceder n commits

TertulIA

Branches

git branch 

git branch development

git branch -d development

Usar diferentes ramas para:

  • Master: Código en producción
  • Desarrollo: Rama de integración
  • Funcionalidades: Una rama para cada nueva funcionalidad
  • Hotfix: Ramas para solución urgente de bugs

Para crear un branch

Para eliminar un branch

TertulIA

Merge

git merge <branch>

¡Pueden ocurrir colisiones!

Para añadir los commits de un branch al actual

TertulIA

¡He realizado un commit con el código lleno de insultos al jefe!

¿Como lo arreglo?

TertulIA

git revert <commit>

Deshaciendo cambios

Deshace los cambios en un nuevo commit

El commit con errores seguirá apareciendo en el log y podriamos movernos a él con checkout.

TertulIA

Deshaciendo cambios

git reset <commit>

git reset <file>

git reset

Elimina cambios añadidos (con git add). 

No modifica el directorio de trabajo (a menos que usemos --hard)

Mueve el Branch actual a un commit determinado.

No modifica el directorio de trabajo (a menos que usemos --hard).

Nunca reescribir la historia pública del repositorio

TertulIA

¿Lo intentamos?

Tutoriales

deck

By truji92