Git

> Temas > Git
Editar

Git es un sistema de control de versiones, un software que sirve básicamente para gestionar las versiones por las que va pasando el código de los proyectos.

Git es el más popular de los sistemas de control de versiones en la actualidad y una de las herramientas más indispensables para el desarrollo de proyectos.

Aunque un sistema de control de versiones sirva justamente para controlar los estados por los que ha pasado un código, lo cierto es que la herramienta git facilita mucho el desarrollo de los proyectos en equipo, así como otras operaciones relacionadas con el flujo de trabajo de los desarrolladores.

Más información:

Instalar Git

La instalación de Git se realiza por medio de un instalador en Windows y Mac. En el caso de Linux, la mayoría de distribuciones ya tienen Git instalado de manera predeterminada.

El instalador se descarga desde la web oficial de Git: https://git-scm.com/

No hay más que seguir el asistente y tendremos ya disponible el comando "git" en nuestro terminal.

Nota sobre el terminal: Los usuarios de Windows durante la instalación de Git tienen la opción de instalar Git Bash, que es un programa de terminal de línea de comandos muy recomendable. Los usuarios de Linux y Mac pueden usar los terminales que vienen instalados en sus sistemas, ya que son suficientemente buenos.

Instalación en Mac

En el caso de la instalación en Mac existen otras alternativas que merece la pena comentar.

1.- Con xcode command line tools Esto no es el xcode completo, solo algunos comandos que son útiles para desarrolladores. Desde un terminal escribes.

xcode-select --install

2.- Instalar Git con Homebrew Esto es un instalador de paquetes para MacOS muy útil, más tarde o temprano lo necesitarás para instalar muchas cosas. Una vez instalado Homebrew lanzas el comando

brew install git

3.- Con el instalador, tal como comentamos antes, que descargas de git-scm.

Editar

Qué es un repositorio Git

En Git un repositorio es un proyecto de software controlado por este sistema de control de versiones. Físicamente no es más que una carpeta del sistema de archivos con código fuente de una aplicación. Esa carpeta se mantiene bajo el seguimiento de Git, de modo que, si se realizan cambios en sus archivos, se mantienen controlados por el sistema.

Todo repositorio tiene dentro una carpeta oculta llamada .git que es donde Git mantiene sus archivos para realizar su propia tarea de control del software. Si por cualquier motivo se borra esa carpeta, dejaría de ser un repositorio y se perdería todo el control que Git mantiene sobre ella.

Para crear un repositorio Git desde cero, debemos partir de una carpeta vacía. Estando situados en ella con el terminal de línea de comandos, se tiene que lanzar el comando:

git init

Eso hará que se cree dentro la subcarpeta .git y que se convierta por tanto en un repositorio Git, pasando a estar controlada por el sistema de control de versiones.

Editar

Sistema de control de versiones con repositorios distribuidos

Git tiene la característica de ser un sistema de control de versiones con repositorios distribuidos. Esto quiere decir que cada uno de los integrantes de un proyecto tiene una copia exacta del repositorio y no solamente una copia de los archivos con los que haya trabajado.

En otras palabras, cuando varios desarrolladores trabajan en un proyecto gestionado por Git, cada uno de ellos tiene en su ordenador un clon de todo el proyecto. Una copia de cada uno de los archivos que forman parte del proyecto.

Esta situación es muy útil, porque cada desarrollador puede trabajar de manera autónoma, al contar con una copia completa de todo el software que se está desarrollando, sin depender de estar situado en la oficina o de una conexión a Internet. Otros tipos de sistemas de control de versiones que son centralizados no permiten esa posibilidad de trabajo autónomo, ya que el desarrollador requiere estar conectado al repositorio central para poder obtener archivos del proyecto.

Editar

Operativa con repositorios remotos de Git

En el flujo de desarrollo con Git generalmente se usan repositorios remotos. Esos repositorios remotos también mantienen una copia completa de todo el proyecto y residen en un servidor externo a cualquier máquina de cualquier desarrollador. El servidor donde se aloja el repositorio remoto podría estar en la red local de la oficina del cliente, pero habitualmente se encuentra en una máquina externa, en un servidor de Internet.

La función principal del repositorio remoto es la de servir de apoyo a todos los desarrolladores, de manera que cada uno pueda sincronizar sus cambios realizados en el proyecto contra el servidor remoto y también sincronizar cambios para adquirir todas las nuevas versiones del código publicadas por otros desarrolladores del equipo.

La operativa básica de trabajo con el repositorio remoto consiste en estas operaciones esenciales de Git:

  • Cuando un desarrollador entra en el equipo crea su copia del repositorio en local, a partir del repositorio remoto. Esta operación se conoce como "clonado de repositorio" y es una operativa muy frecuente y básica, que se realiza con el comando "git clone".
  • Cuando un desarrollador hace cambios en un proyecto y decide compartirlos con el grupo, envía esos cambios al repositorio remoto, en una operación que se conoce como "push".
  • Cuando un integrante del equipo desea obtener los cambios realizados en el código del proyecto (realizados por otras personas), para integrarlos en su clon local, se los baja del repositorio remoto, en una operación que se conoce como "pull".

Editar

¿Quieres añadir algo sobre Git?

Crea artículos, recursos o comparte información sobre Git

Crear un bloque

Git

Manuales

Manual de Git
Esta es una compilación de artículos y vídeos destintados a aprender Git, el sistema de control de versiones más utilizado...

Canales de eventos y clases en directo

Preguntas y respuestas

Se han recibido 6 faqs en Git

Hacer una pregunta