Introducción a Git en Terminal y SourceTree (Parte 1)

Standard

Git logo

Qué tal. En esta ocasión comparto con ustedes algo de información útil sobre una herramienta que sin duda debe estar salvando miles de vidas al día: Git.

Nota: Antes de leer este post es totalmente recomendado estar al tanto de en qué consisten los Sistemas de Control de Versiones, sobre los cuales se habló con anterioridad en el post del enlace.

Ahora bien, para comenzar, es indispensable saber de qué hablamos al referirnos a un repositorio. Un repositorio —en el contexto de los sistemas de control de versiones— es una estructura de datos en disco que almacena metadatos para un conjunto de archivos y/o estructuras de directorios. Dependiendo de si el sistema de control de versiones es distribuído (por ejemplo, Git o Mercurial) o centralizado (Subversion o Perforce, por ejemplo), todo el conjunto de información en el repositorio será duplicado en el sistema de cada usuario, o será mantenido en un solo servidor. Algunos de los metadatos que suele contener un repositorio incluyen, entre otras cosas:

  • Un registro histórico de cambios en el repositorio.
  • Un conjunto de objetos “commit”.
  • Un conjunto de referencias a objetos commit, llamados “heads”.

Y ahora que sabemos esto, 

¿Qué es Git?

Git es un sistema de control de versiones ampliamente utilizado para el desarrollo de software. Es un sistema de versionamiento distribuido que tiene un énfasis en la velocidad, integridad de los datos y soporte para flujos de trabajo distribuidos/no-lineales. Git fue inicialmente diseñado y desarrollado por Linus Torvalds para el desarrollo del kernel de Linux en el año 2005.

Como la mayoría de otros sistemas de control de versiones distribuidos, y a diferencia de la mayoría de los sistemas cliente-servidor, cada directorio de trabajo Git es un repositorio completamente establecido, con historial completo y capacidades de seguimiento de versiones, independiente de acceso a la red o de un servidor central. Como el kernel de Linux, Git es software libre disdtribuido bajo los términos de la GNU General Public License version 2.

El presente post tiene como finalidad el brindar una introducción a conceptos básicos relativos a Git, así como sobre la creación de repositorios tanto por medio de terminal, como mediante SourceTree (que es un cliente para Git y Mercurial que provee interfaz gráfica para repositorios Git y Hg).

Creación de repositorios

Git Init

El comando git init crea un nuevo repositorio Git. Este puede ser usado para convertir en un repositorio Git un proyecto existente que no esté versionado, o para inicializar un nuevo repositorio vacío. La mayoría de los comandos Git no están disponibles fuera de repositorios inicializados, así que usualmente este es el primer comando necesario para correr un nuevo proyecto.

Ejecutar git init crea un subdirectorio .git el la raíz del proyecto, que contiene todos los metadatos necesarios para el repositorio.

Cómo inicializar un repositorio usando Terminal

Abre una terminal y escribe:

git init

Transforma el directorio actual en un repositorio Git. Esto agrega un directorio .git al directorio actual y hace posible comenzar registrando revisiones del proyecto.

git init <directorio>

Crea un repositorio Git vacío en el directorio especificado. Esto crea un nuevo directorio llamado <directorio> que sólo contiene el subdirectorio .git.

git init --bare <directorio>

Inicializa un repositorio Git vacío, pero omite el directorio actual. Los repositorios compartidos pueden ser creados con la bandera --bare. Por convención, los repositorios inicializados con la bandera --bare terminan con la extensión .git. Esto quiere decir que el repositorio no tiene un directorio de trabajo, haciendo imposible editar archivos o hacer commit en ese repositorio. Los repositorios centrales deben ser siempre creados de esta manera porque hacer push a un branch directamente a un repositorio que no fue inicializado con la bandera --bare puede llegar a sobreescribir cambios, lo cual no es deseable.

Cómo inicializar un repositorio usando SourceTree

Captura de pantalla 2015-12-01 a las 5.21.06 p.m. 

Figura 1:

  1. Abre SourceTree.
  2. Click en +New Repository.
  3. Click en Create local repository.

Captura de pantalla 2015-12-01 a las 5.24.24 p.m.

 Figura 2:

  1. Asigna un directorio destino y un nombre.
  2. Asigna el tipo de repositorio (Git/Mercurial).
  3. Puedes seleccionar la creación de un repo remoto.
  4. Click Clone.

Git Clone

El comando git clone copia un repositorio Git existente. Esto es como un snv checkout, excepto porque el directorio de trabajo es un repositorio completamente establecido —tiene su propio historial, maneja sus propios archivos y es un ambiente completamente aislado del repositorio original. De manera conveniente, clonar automáticamente crea una conexión remota llamada origin, apuntando al repositorio original. Este hace muy fácil el interactuar con un repositorio central.

Si un proyecto ya ha sido configurado en un repositorio central, el comando git clone es la manera más común para los usuario de obtener una copia del proyecto en desarrollo. Clonar es generalmente una operación que se realiza una sola vez —una vez que el desarrollador ha obtenido una copia del proyecto, todas las operaciones de control de versiones y colaboraciones son manejadas a través de su repositorio local.

Cómo clonar un repositorio usando Terminal

Abre una terminal y escribe:

git clone <repo>

Este comando clona el repositorio ubicado en la dirección <repo> en la máquina local. El repositorio original puede estar ubicado en el sistema de archivos local o en una máquina remota accesible vía HTTP o SSH.

git clone <repo> <directorio>

El comando anterior clona el repositorio ubicado en la dirección <repo> dentro del folder llamado <directorio> en la máquina local.

Cómo clonar un repositorio usando SourceTree

Captura de pantalla 2015-11-14 a las 1.04.18 p.m.

Figura 3:

  1. Abre SourceTree.
  2. Click en +New Repository.
  3. Click en Clone from URL.

Captura de pantalla 2015-11-14 a las 1.09.18 p.m.

Figura 4:

  1. Llena el campo Source URL con una dirección válida del repositorio Git que deseas clonar.
  2. Asigna un directorio destino y un nombre.
  3. Click Clone.

Por el momento hasta aquí llega este pequeño tutorial, en la próxima entrega veremos cómo guardar cambios en nuestro nuevo repositorio. ¡Hasta luego!

Referencias:

Leave a Reply

Your email address will not be published. Required fields are marked *