Mini Tutorial GIT
Mini Tutorial GIT
Agenda
Qu es Git?
Un sistema distribudo de control de versiones Software libre / Cdigo abierto Cada cln es una repositorio completo
Es utilizado por el proyecto del Kernel de Linux Fu escrito por Linus Torvalds (originalmente)
Es utilizado en proyectos como: Perl, GNOME, Qt, Ruby on Rails, Android, Wine, etc
Esta de moda con sitios como Github Ideal para un uso personal
Permite llevar cuenta de los cambios de un conjunto de archivos digitales en el tiempo Cada versin registrada en el tiempo es una revisin Muy utilizado para la gestin de cdigo fuente
Permite tanto a un desarrollador individual como a un grupo de programadores gestionar el cdigo de un proyecto
RCS (el original, de Pardue University luego GNU) CVS Subversion (SVN) Mercurial (hg) Bazaar (bzr) Visual SourceSafe (Microsoft)
Porqu es distribudo?
No requiere un repositorio central (como svn) Cada copia o cln es autosuficiente y completa Cualquier copia se puede actualizar contra otra
Breve Historia
El Kernel Linux es el proyecto de cdigo abierto ms grande y con ms actividad que existe en el mundo
En el 2002 Linus Torvalds encontr en BitKeeper, un producto comercial de la empresa BitMover un RCS superior y decidi usarlo
Stallman lo critic, Alan Cox (Kernel 2.2) se opuso pero igual se utiliz gracias a una licencia especial para proyectos libres extendida por Larry McVoy
Linus Torvalds tom el toro por las astas y escribi el mismo un sistema RCS con lo mejor de SVN, Bitkeeper y las mejoras necesarias para el kernel
Sincronizar las versiones entre Linus Torvalds y Andrew Morton (mantenedor de la rama 2.6 demoraba 2 horas!)
Comandos bsicos
Comandos bsicos
http://ktown.kde.org/~zrusin/git/
Ejemplos prcticos
Iniciar un proyecto Ir trabajando por pedacitos Revisar el trabajo realizado Corregir errores Trabajando con un repositorio remoto
Tomado de: http://www.spheredev.org/wiki/Git_for_the_lazy
Iniciar un proyecto
1. Crear una carpeta, entrar a una ya existente o descomprimir un archivo comprimido
cd proyecto
2. Decirle a git que empiece a llevar cuenta de los cambios
git init .
3. Agregar todos los archivos presentes
git add .
4. Crear la revisin inicial
git status
2. Ver los cambios en formato de parche (diff)
git diff
3. Agregar a la prxima revisin los archivos mencionados en el paso 1 que deseamos incluir
git log
2. Ver solo las ltimas n (ej. 3) revisiones:
git log n3
3. Ver cambios de forma detallada
Corregir errores
1. Descartar todos los cambios hechos desde la ltima revisin
git reset --soft HEAD^ git add olvidado1 olvidado2 git commit
git add archivo1 archivo2 carpeta1 carpeta2 git commit -m 'Nueva revisin con tales cambios'
4. Enviar los cambios de vuelta al repositorio remoto
Github
Sitio web de hospedaje de proyectos usando git Plan bsico (gratuito) + otros planes pagados 300 MB de almacenamiento para proyectos
Permite hacer fork con facilidad y luego solicitar al dueo del repo original que haga pull
Github
Github
Github
Conclusiones
Git es una herramienta rpida, eficiente y moderna para el control de versiones de proyectos con archivos digitales sean o no cdigo fuente
Git permite flujos de trabajo distribudos en los que no tiene porque existir un repositorio central
Linus Torvalds cre Git de acuerdo a las necesidades del kernel pero ofreci una gran herramienta a la comunidad en general