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