1 of 12

Git. Sistema de Control de Versiones (SCV)

ING. JOSÉ FELIPE RAMOS GARCÍA

2 of 12

Objetivo del curso

Los participantes comprenderán la importancia de gestionar los cambios en los archivos, conocerán los comandos básicos y practicarán a través de ejercicios esta útil herramienta de SCV git.

ING. JOSÉ FELIPE RAMOS GARCÍA

3 of 12

¿Qué es un Sistema de Control de Versiones?

  • Un SCV es una herramienta de software o programa que ayuda al desarrollador o equipos de desarrollo a gestionar los cambios en el código fuente a lo largo del tiempo.
  • La herramienta registra todos los cambios que se realizan en uno o más archivos, guardando versiones anteriores del archivo, a las que podemos acudir en caso de haber realizado algún cambio.

ING. JOSÉ FELIPE RAMOS GARCÍA

4 of 12

¿Qué es un Sistema de Control de Versiones?

  • El SCV es útil para guardar cualquier archivo que cambie con frecuencia, como son: códigos fuente, documentación o archivos de configuración.

ING. JOSÉ FELIPE RAMOS GARCÍA

5 of 12

Origen del git

  • Es un proyecto de código abierto maduro y con un mantenimiento activo, desarrollado originalmente por Linus Torvalds, el famoso creador del kernel del sistema operativo Linux, en 2005.

  • El SCV git fue creado pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente.

ING. JOSÉ FELIPE RAMOS GARCÍA

6 of 12

Características:

  • Es software libre, es decir es gratuito.
  • Permite mantener un historial completo de versiones de los archivos.
  • Tiene un sistema de trabajo con ramificaciones, también llamadas ramas, lo que lo hace especialmente potente.
  • La ramificación, la fusión y la comparación de versiones anteriores permite optimizar los cambios en favor del rendimiento.
  • git se ha diseñado con la principal prioridad de conservar la integridad del código fuente gestionado.

ING. JOSÉ FELIPE RAMOS GARCÍA

7 of 12

¿Cómo funciona git?

  • Git a diferencia de otros Sistemas de Control de Versiones, toma “snapshots” o “fotografías” de cómo se encontraban los archivos en cierto momento y guarda una referencia a esa copia instantánea.

  • git maneja los archivos como una secuencia de copias instantáneas.

ING. JOSÉ FELIPE RAMOS GARCÍA

8 of 12

Ing. José Felipe Ramos García *

working directory: Corresponde con nuestro sistema de archivos en nuestro área de trabajo

staging area: Es cuando indicamos a git que reconozca estos archivos para que comience a controlar sus versiones. Los archivos pasan a esta área después de hacer un "Add".

local repo: Es nuestro repositorio local. Los archivos pasan a esta área después de hacer "Commit".

remote repo: Aquí será donde se realicen los merge con otros usuarios que colaboren en el proyecto.

9 of 12

Ing. José Felipe Ramos García *

10 of 12

Otras opciones de CVS

Existen en el mercado otras opciones a Git, por ejemplo:

  • Subversion: maneja archivos y directorios a través del tiempo, hay un árbol de archivos en un repositorio central.
  • Perforce: gestión de repositorios basados en la web, colaboración entre desarrolladores, gestión del ciclo de vida de las aplicaciones, servidores de aplicaciones web, herramientas de depuración y software de planificación ágil.

ING. JOSÉ FELIPE RAMOS GARCÍA

11 of 12

Otras opciones de CVS

  • CVS: mantiene el registro de todo el trabajo y los cambios en los archivos, ​ que forman un proyecto y permite que distintos desarrolladores colaboren.
  • Bazaar: puede ser usado por un usuario único trabajando en múltiples ramas de un contenido local, o por un equipo colaborando a través de la red.
  • Mercurial: Está implementado principalmente haciendo uso del lenguaje de programación Python, pero incluye una implementación binaria de diff escrita en C.

ING. JOSÉ FELIPE RAMOS GARCÍA

12 of 12

Git. Sistema de Control de Versiones (SCV)

ING. JOSÉ FELIPE RAMOS GARCÍA