Está en la página 1de 19

Taller breve de introduccin a Git

Agenda

Qu es Git? Pequea analoga Comandos bsicos Ejemplo prctico Resumen Flujo interno de Git Github / Bitbucket Recomendaciones

Qu es Git?

Sistema distribudo de control de versiones Software libre y de codigo abierto Cada clon es un repositorio completo Crear branch's y fusionarlos con un merge es cosa de 1 minuto Cada commit registrado es una revisin Creado por Linus Torvalds

Pequea analoga

Solo si no estas familiarizado con versionadores. Guardar cambios en Git, es como cuando jugabas partidas en algn juego, para luego retomarlas desde ese punto. Pero esto no quiere decir que se use como backup de cdigo, Git es mucho mas que eso.

Comandos bsicos

Clonar un repositorio $ git clone git@ip_del_server:nombre_repo.git Agregar un archivo $ git add archivo.txt Guardar el archivo $ git commit -a -m comentario Traer los cambios $ git pull origin nombre_rama

Comandos bsicos

Enviar cambios al servidor $ git push origin nombre_rama Cambiar de branch $ git checkout nombre_rama Ver en que branch estamos $ git branch Hacer merge $ git merge nombre_rama

Ejemplo prctico

Se requiere de una pc, y seguir paso a paso. Veremos temas como uso de: branch's, merge, commit, status, log, etc. Al final hay un resumen de cada punto tocado. Se mostrar como crear un repositorio central con git.

Ejemplo prctico

Crear carpeta vaca myproject, e iniciamos $ git init Crear archivo1.txt y archivo2.txt y agregarlos $ git add . Guardando la primera revisin $ git commit -m Iniciando proyecto Crear archivo3.txt y archivo4.txt, ver estado $ git status

Ejemplo prctico

Agregando los nuevos archivos $ git add archivo2.txt archivo3.txt Guardamos una nueva revisin $ git commit -m Segunda revisin Ver el historial detallado $ git log --stat Crear una nueva rama $ git checkout -b nueva_rama

Ejemplo prctico

Crear carpeta demo y dentro archivo5.txt, y agregarlos $ git add demo/ Guardar cambios $ git commit -m Tercera revisin Regresar a master $ git checkout master Fusionar con nueva_rama $ git merge nueva_rama

Ejemplo prctico

Salimos de la carpeta y creamos un repo $ git clone --bare myproject mirepo.git Clonamos otro proyecto a partir del repo $ git clone mirepo.git newproject Entramos en newproject, creamos archivo6.txt y lo agregamos $ git add archivo6.txt Guardamos los cambios $ git commit -m Agregado archivo6.txt

Ejemplo prctico

Nos aseguramos tener la ultima versin del repo $ git pull origin master Ahora enviaremos nuestros cambios al repo $ git push origin master Salimos de newproject y clonamos otro $ git clone mirepo.git miproyecto Nos fijamos el historial $ git log

Ejemplo prctico

Creamos una nueva rama $ git checkout -b nuevos_cambios Creamos archivo7.txt, lo agregamos y guardamos $ git add archivo7.txt $ git commit -m Agregando archivo7.txt

Regresamos a master y comparamos $ git checkout master $ git diff master nuevos_cambios

Ejemplo prctico

Hacemos merge y envamos los cambios $ git merge nuevos_cambios $ git push origin master

Eliminamos la rama que ya no nos sirve git branch -d nuevos_cambios Nos vamos newproject y traemos los nuevos cambios $ git pull origin master

Resumen

Primero se cre un repositorio git local myproject y se guardaron revisiones Luego se cre un branch llamado nueva_rama y se guardaron revisiones. Fusionamos los cambios del branch nueva_rama con master Creamos un repositorio central llamado mirepo.git a partir de myproject Clonamos mirepo.git con nombre newproject Hicimos cambios, guardamos y luego enviamos al repositorio central mirepo.git Clonamos otra vez de mirepo.git llamado miproyecto y nos fijamos el historial de revisiones. Creamos una nueva rama, hicimos cambios, comparamos y fusionamos, finalmente enviamos los cambios al repositorio mirepo.git Por ltimo fuimos a newproject a actualizar con pull

Flujo interno de Git

Github / Bitbucket

Github Trabaja con repositorios netamente de tipo git, tiene una versin de pago para repositorio privados.

Bitbucket A diferencia del anterior permite trabajar con repositorios privados y trabaja con mercurial y git.

Recomendaciones

Traer siempre la ltima versin con un pull, y correr los test's, para evitar conflictos de archivos e inconsistencia en el proyecto. Nunca dejar cambios sin guardar al termino del horario de trabajo. Realizar commit's con comentarios significativos, a fin de mantener el repositorio limpio y ordenado. Resolver todos los conflictos al hacer un merge antes de enviar los cambios con push Darle una repasada al libro Pro Git http://gitscm.com/book/es

Preguntas?

También podría gustarte