Está en la página 1de 27

git, control de versiones en

30 minutos
José Pérez Martínez
jperez@dtic.ua.es
Índice
• Primeros pasos
• Bloque 1: Git bash
▫ Crear un repositorio local vacio
▫ Crear un repositorio remoto vacio
▫ Sincronizar y flujo de trabajo
• Bloque 2: SmartGit
▫ Crear un repositorio local vacio
▫ Flujo de trabajo
▫ Limitaciones de SmartGit
Primeros pasos
• Cómo usar estas transparencias
• ¿Qué es GIT¿ Breve historia
• SmartGit
Cómo usar estas transparencias

• Los ejemplos aquí vistos para GIT se basan en la


herramienta gráfica SmartGit que será
presentada más adelante.
¿Qué es GIT? Breve historia
• GIT es un sistema rápido de control de
versiones.
• Está escrito en C y que se ha hecho popular por
ser el elegido para el kernel de Linux.
• Ha sido diseñado originalmente por Linus
Torvalds.
• Permite repositorio local (off-working) y
repositorio remoto.
• http://git-scm.com/
SmartGit
• Cliente multiplataforma (java) muy cómodo e
intuitivo.
• Al igual que el toolkit QT posee dos licencias:
comercial y no-comercial. Usaremos la segunda.
• Es una alternativa rápida, cómoda y sencilla a
usar GIT en consola.
Git bash
• Crear un repositorio local vacio
• Crear un repositorio remoto vacio
• Sincronizar repositorios
• Obtener una release del último cambio.
Crear un repositorio local (1)
• Estando en el directorio deseado,
abrir la consola de GIT y teclear:
$ git init

• Añadir el contenido del directorio


al repositorio
$ git add .

• Por último, hacer commit y confirmar los cambios


iniciales en el repositorio.
$ git commit –a –m “Inicio del repositorio"
Crear un repositorio local (2)
• Etiquetar un repositorio es muy útil.
$ git tag –a –m “Version inicial” v0.0

• Tenemos un repositorio del siguiente tipo:

• También podemos leer el log al que hace


referencia $ git log v0.0
una etiqueta commit 82d0.......
Author: Jose Perez Martinez jperez@dtic.ua.es
dada. Date: Wed Jun 9 16:57:53 2010 +0200

Inicio del repositorio


SmartGit: Crear repo. remoto
• Clonar el repositorio (sin los ficheros de
proyecto)
$ git clone –bare . ~/DROPBOX/GIT/remoterepo

• Clonar el repositorio (sin los ficheros de


proyecto)
$ git remote add REMOTE-REPO ~/DROPBOX/GIT/remoterepo
SmartGit: Subir fich. repo. remoto

• Hacer commit sobre el repositorio


$ git commit –a –m “Un mensaje informativo ...”

• Ejecutar la acción de “push” (poner) en el


repositorio remoto indicado
$ git push REMOTE-REPO maaster
SmartGit: Descargar cambios repo.
remoto
• Situarnos en el directorio donde deberán descargarse los
repositorios.
• Clonar el repositorio remoto:
$ git clone ~/Mis\ Documentos/My\ Dropbox/GIT/remote

• En cualquier momento puedes recuperar la información


del repositorio remoto con:
$ git pull REMOTE-REPÔ master
¿Qué pasa si quiero volver a una versión
más estable?
• Puede que un día hagamos commit de un
proyecto y al pasar el tiempo durante una
modificación necesitemos volver a algún estado
anterior:
git commit –a –m “”

git reset –hard [hash-ID or tag]

• Habremos vuelto a la versión estable deseada


Crear el tarball de un release
• En la consola de GIT y en el directorio del
repositorio:
$ git archive –format=tar –prefix=project/ HEAD |
gzip > latest.tar.gz

• (la solución más cómoda es crear un script)


SmartGit
• Crear un repositorio local vacio
• Crear un repositorio remoto vacio
• Sincronizar repositorios
• Obtener una release del último cambio.
SmartGit: Repositorio nuevo (1)
SmartGit: Repositorio nuevo (2)
• (1) Seleccionar el
directorio de
trabajo

• (2) Indicamos
que queremos
“Iniciar” el repo.

• (3) Nombramos
el proyecto.
SmartGit: Repositorio vacio (1)
SmartGit: Repositorio vacio (2)
SmartGit: Commit
• Ctrl+Mayus+
A selecciona
todoxs los
ficherso para
hacer commit
SmartGit: Añadir una etiqueta
SmartGit:
Glosario
• Colección de términos empleados durante
estas transparencias y de uso frecuente con
herramientas de control de versiones.
Glosario de términos CV (1)
• Repositorio:
El repositorio es el lugar en el que se almacenan los
datos actualizados e históricos, a menudo en un
servidor.
• Módulo:
Conjunto de directorios y/o archivos dentro del
repositorio que pertenecen a un proyecto común.
• Rotular (Tag) :
Darle a alguna versión de cada uno de los
ficheros del módulo en desarrollo en un momento
preciso un nombre para asegurarse de reencontrar
ese estado de desarrollo posteriormente bajo ese
nombre.
Glosario de términos CV (2)
• Revisión
Una revisión es una versión determinada de un
archivo
• Ramificar (branch):
Un módulo puede ser bifurcado en un momento del
tiempo de forma que, desde ese momento en adelante,
dos copias de un mismo fichero coexisten en diferentes
“ramas” (desarrollo y estable, pe.).
• Desplegar (checkout):
Crea una copia de trabajo local desde el repositorio.
Se puede especificar una revisión concreta, por
defecto se suele obtener la última.
Glosario de términos CV (3)
• Publicar (commit):
Un commit sucede cuando una copia de los cambios
hechos a una copia local es escrita o integrada sobre
repositorio.
Fin!
• Gracias por haber leído hasta aquí.

• Cualquier aportación, corrección o sugerencia


será bien recibida.

• Recordad, podéis contactar conmigo en:

jperez@dtic.ua.es

También podría gustarte