git para no gitters

17
Git para no gitters By @ewokcillo Formación 19-09-2012

Upload: rojomorgan

Post on 11-Apr-2017

690 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Git para no gitters

Git para no gittersBy @ewokcillo

Formación 19-09-2012

Page 2: Git para no gitters

Í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.

Page 3: Git para no gitters

¿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.

Page 4: Git para no gitters

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.

Page 5: Git para no gitters

Distribuido vs. centralizado

El código se almacena en lugares llamados repositorios, dependiendo de sus arquitectura tendremos distribuidas o centralizadas..

Page 6: Git para no gitters

Distribuido vs. centralizado

Distribuido: cada usuario tiene su propio repositorio y un repositorio central para la sincronización.

Page 7: Git para no gitters

Distribuido vs. centralizado

Ventajas:

- Mayor independencia del repositorio central.

- Mayor replicación.

- Repositorio central mas limpio.

- Repositorio central liviano.

- Potencia las ramas(branchs).

Page 8: Git para no gitters

Distribuido vs. centralizado

Centralizado: Un repositorio central a partir del cual se sincroniza todo el mundo.

Page 9: Git para no gitters

Distribuido vs. centralizado

Ventajas:- Mayor control de cambios.- Mayor claridad en números de versión.

Page 10: Git para no gitters

Arquitectura de un repositorio git.

Page 11: Git para no gitters

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.

Page 12: Git para no gitters

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.

Page 13: Git para no gitters

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

Page 14: Git para no gitters

Comandos de git

#git pull – Actualiza el repositorio local con el repositorio remoto.#git push – Manda los cambios del repositorio local al

repositorio remoto.

Page 15: Git para no gitters

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

Page 16: Git para no gitters

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)

Page 17: Git para no gitters

¿Preguntas?