Upload
diego-lopez
View
278
Download
1
Embed Size (px)
Citation preview
Git para no gitters
By ewokcillo
Í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.
¿Que es un SVC?
Es un sistema donde podemos, almacenar nuestro codigo, realizar cambios sobre el codigo y tener un historico de los cambios realizados en el.
SVC, ¿Por qué?
- Porque no trabajamos solos.
- Porque necesitamos replicar cambios.
- Porque debemos llevar un historico de esos cambios y su estado.
- Porque necesitamos un gestor para aplicar esos cambios.
Distribuido vs. centralizado
El codigo se almacena en lugares llamados repositorios, dependiendo de sus arquitectura tendremos distribuidas o centralizadas..
Distribuido vs. centralizado
● Distribuido: cada usuario tiene su propio repositorio y un repositorio central para la sincronizacion.
Distribuido vs. centralizado
●Ventajas:
- Mayor independencia del repositorio central.- Mayor replicacion.- Repositorio central mas limpio.- Repositorio central liviano.- Potencia las ramas(branchs).
Distribuido vs. centralizado
● Centralizado: Un repositorio central a partir del cual se sincroniza todo el mundo.
Distribuido vs. centralizado
●Ventajas:- Mayor control de cambios.- Mayor claridad en numeros de version.
Arquitectura de un repositorio git.
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.
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.
Comandos de git.
#git log - Muestra el historial de commits.- el formato del commit es
#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.
commit ae814236393b56f52d63350d7252cf1f2670c326Author: ewokcillo <[email protected]>Date: Fri Sep 14 13:51:47 2012 +0200
added reviews
Comandos de git.
#git pull – Actualiza el repositorio local con el repositorio remoto.#git push – Manda los cambios del repositorio local al
repositorio remoto.
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
Enlaces.
●Documentacion oficial de Git:- http://git-scm.com/documentation
●Guia rapida de git:- http://rogerdudler.github.com/git-guide/
●Entrada de la wikipedia sobre git:- http://en.wikipedia.org/wiki/Git_(software)
¿Preguntas?