1. Git para no gitters
By @ewokcillo
Formación 19-09-2012
2. Índice
¿Que es un Sistema de control de versiones(SVC)?
●
● SVC, ¿Por qué?
● Distribuido vs. Centralizado.
● Arquitectura de un repositorio git.
● Comandos de git.
● Branches.
● Enlaces.
3. ¿Qué es un SVC?
Es un sistema donde podemos almacenar nuestro código,
realizar cambios sobre el código y tener un histórico de los
cambios realizados en él.
4. SVC, ¿Por qué?
- Porque no trabajamos solos.
- Porque necesitamos replicar cambios.
- Porque debemos llevar un histórico de esos cambios y su
estado.
- Porque necesitamos un gestor para aplicar esos cambios.
5. Distribuido vs. centralizado
El código se almacena en lugares llamados repositorios,
dependiendo de sus arquitectura tendremos distribuidas o
centralizadas..
6. Distribuido vs. centralizado
Distribuido: cada usuario tiene su propio repositorio y un
repositorio central para la sincronización.
7. Distribuido vs. centralizado
Ventajas:
- Mayor independencia del repositorio central.
- Mayor replicación.
- Repositorio central mas limpio.
- Repositorio central liviano.
- Potencia las ramas(branchs).
11. Arquitectura de un repositorio git.
● Working directory: sera el directorio donde tengamos el
codigo sobre el que vamos a trabajar.
● Staging area(Index): es el lugar donde se almacena que
archivos han sido modificados, antes de escribir los cambios
al repositorio local.
● Local repo: Repositorio local donde almacenamos y
controlamos las diferentes ramas y estados de nuestro codigo,
se encuentra en el directorio .git de nuestro Working directory.
● Remote repo: Repositorio central con el cual se sincroniza el
resto de usuarios.
12. Comandos de git
#git init – Este comando creara un nuevo repositorio local.
#git clone usuario@host:/path/to/repository working_dir –
crea un repositorio local del repositorio remoto en el directorio
working_dir.
#git add archivo - Añade archivo al index del repositorio local,
se puede usar . para añadir todos los archivos.
#git status - nos dice todos los cambios que hay en el index.
#git commit -am “message” - Hace commit de todos los
cambios del index al repositorio local.
#git commit -m “message” archivos - Hace commits de los
archivos indicados.
13. Comandos de git
#git log - Muestra el historial de commits.
- el formato del commit es
commit
ae814236393b56f52d63350d7252cf1f2670c326
Author: ewokcillo <ewokcillo@openmelva.com>
Date: Fri Sep 14 13:51:47 2012 +0200
added reviews
#git diff commitX commitY – muestra las diferencias entre el
commitX y el commitY.
#git checkout -- archivo – Modifica archivo al estado en el
que se encontraba en el ultimo commit.
14. Comandos de git
#git pull – Actualiza el repositorio local con el repositorio
remoto.
#git push – Manda los cambios del repositorio local al
repositorio remoto.
15. Branches
●La mayor potencia de git se basa en su capacidad para
manejar ramas(branches).
●Una rama es una bifurcacion del codigo en un determinado
estado y que luego se puede mergear con la otras ramas.
●Para mas informacion recomiendo:
- http://git-scm.com/book/es/Ramificaciones-en-Git-
%C2%BFQu%C3%A9-es-una-rama%3F
16. Enlaces
Documentación oficial de Git:
●
- http://git-scm.com/documentation
Guíaia rapida de git:
●
- http://rogerdudler.github.com/git-guide/
Entrada de la wikipedia sobre git:
●
- http://en.wikipedia.org/wiki/Git_(software)