Tabla de Contenidos

Retorno a página anterior


GIT es un sistema de versiones distribuido (descentralizado). Fue diseñado para correr de forma local en casi todas sus funcionalidades. No dependemos de un respositorio central y, por lo tanto, de acceso a internet para poder trabajar con nuestros dearrollos.

GIT está disponible para la mayoría de los sistemas operativos.

Veamos algunos conceptos y definiciones asociados al control de versiones con GIT:

RESPOSITORIO CANÓNICO

Un repositorio canónico o bendecido es el respositorio que tiene la aprobación de los gerentes del proyecto como el estándard “de facto” desde donde se debe clonar su contenido para realizar las modificaciones.

BRANCHING

El “branching” permite a los desarrolladores “clonar” un respositorio de trabajo e tal forma de poder jugar con su contenido sin temer a que se produzcan cambios dañinos para el desarrollo. El “branching” crea una copia del código tal cual está en ese momento en una rama (branch) separada para poder trabajr de forma segura. Siempre vamos a poder reconstruir el código original.

STAGING

GIT maneja los envíos al repositorio (a esta operación se la denomina “commit”) usando un área intermedia llamada “staging area” o “index”. Esta forma de trabajo permite enviar un archivo a “staging”, seguir trabajando sobre el mismo archivo con una versión en “staging” que consideramos buena previo al envío al respositorio como versión definitiva de esa instancia del desarrollo. La “staging area” es un área de trabajo extra para poder guardar copias intermedias antes de decidir qué mando al repositorio. Me da la oportunidad de mantener un repositorio limpio de commits con mínimas modificaciones.

WORKFLOW

Tan importante como la herramienta de versionado es el “workflow” (flujo de trabajo) que se diseñe para manejar los desarrollos. El “workflow” es independiente de la herramienta. Es el diseño de la forma de trabajo del grupo de desarrollo. GIT tiene la virtud de adaptarse a prácticamente cualquier tipo de “workflow”.

Vamos a ver 3 tipos de “workflow” habituales en desarrollo:

Offline Committing

Es una de las fortalezas de GIT. Podemos trabajar localmente tanto como queramos antes de hacer un *push* al repositorio canónico. No dependemos de una conexión a Internet. Para lo único que necesitamos conectividad es para clonar un repositorio o hacer un push hacia el repositorio remoto. Todo el resto del trabajo es local.

Interacción

Se puede interactuar con GIT de diversas maneras:


Retorno a página anterior