Git y Github

Angélica Velázquez
KAN by MUKTEK Academy
6 min readNov 2, 2018

--

Hoy aprenderemos un poco de lo que es Git y cómo podemos usarlo en nuestros proyectos.

Git es un sistema de control de versiones distribuido; esto quiere decir que mantiene una copia local del repositorio completo.

Al disponer de un repositorio local, puedes hacer commit (enviar cambios al sistema de control de versiones) en local, sin necesidad de estar conectado a Internet o cualquier otra red.

Git permite realizar un seguimiento de los cambios realizados en un proyecto a lo largo del tiempo y funciona registrando los cambios que realiza en un proyecto, almacenando esos cambios y luego permitiéndole consultarlos según sea necesario.

El control de versiones es una de las tareas fundamentales para la administración de un proyecto de desarrollo de software en general.

Surge de la necesidad de mantener y llevar control del código que vamos programando, conservando sus distintos estados.

Git tiene tres estados principales en los que se pueden encontrar tus archivos: confirmado (committed), modificado (modified), y preparado (staged).

  • Confirmado significa que los datos están almacenados de manera segura en tu base de datos local.
  • Modificado significa que has modificado el archivo pero todavía no lo has confirmado a tu base de datos.
  • Preparado significa que has marcado un archivo modificado en su versión actual para que vaya en tu próxima confirmación.

También consta de tres partes:

  • Un directorio de trabajo (Working Directory): donde harás todo el trabajo: crear, editar, eliminar y organizar archivos
  • Un área de preparación (Staging Area): donde se enumerarán los cambios que se realicen en el directorio de trabajo
  • Un repositorio (Git Directory — Repository): donde Git almacena permanentemente esos cambios como diferentes versiones del proyecto

El flujo de trabajo de Git consiste en editar archivos en el directorio de trabajo, agregar archivos al área de preparación y guardar los cambios en un repositorio.

Ahora conoceremos algunos de los comandos que más usaremos con Git.

git init

La palabra init significa inicializar. El comando configura todas las herramientas que Git necesita para comenzar a rastrear los cambios realizados en un proyecto existente.

Puedes verificar el estado de esos cambios con:

git status

Si aún no haces cambios en tu proyecto verás algo como esto :

El comando te dice en qué rama estás. Por ahora, esa rama siempre es “master”, que es la predeterminada.

git add

Añade el contenido del archivo al área de preparación.

~ git add [nombre del archivo]

La palabra nombre de archivo aquí se refiere al nombre del archivo o proyecto que está editando, como assignment1.js (de esta manera tu archivo de assignment1.js esta listo en el área de preparación).

También puedes subir TODOS los cambios en tu proyecto usando el comando

~ git add .

El “.” (punto) significa : todos los archivos en los que has hecho cambios en tu proyecto.

git diff

Ahora imagina que escribimos otra línea en nuestro archivo. Dado que se realiza un seguimiento del archivo, podemos verificar las diferencias entre el directorio de trabajo y el área de preparación con:

En mi caso particular yo agregue una variable en mi archivo:

git commit

Este es el último paso en nuestro flujo de trabajo Git. Una confirmación que almacena permanentemente los cambios del área de preparación dentro del repositorio. Sin embargo, se necesita un bit más de código para un commit: la opción “-m” seguida de un mensaje. Aquí hay un ejemplo:

Estas son las Convenciones estándar para mensajes de commit:

  • Debe estar entre comillas
  • Escrito en tiempo presente.
  • Debe ser breve (50 caracteres o menos) cuando se utiliza “-m”.

git log

A menudo, con Git, deberás volver a consultar una versión anterior de un proyecto. Los commits se almacenan cronológicamente en el repositorio y se pueden ver con:

~ git log 

Este comando nos muestra quién fue el autor del commit , la fecha y la hora en el que se hizo.

A continuación veremos algunos otros comandos que se usan cuando tu proyecto Git está enlazado con algún repositorio remoto. Pero primero debemos hacer una pausa para conocer lo que es esto:

Los repositorios remotos son versiones de tu proyecto que se encuentran alojados en Internet o en algún punto de la red como Github por ejemplo.

Github

GitHub es un sitio web y un servicio en la nube que ayuda a los desarrolladores a almacenar y administrar su código, al igual que llevar un registro y control de cualquier cambio sobre este código.

Github nos ofrece la opción de crear un repositorio vacío, recomendable cuando vamos a iniciar un nuevo desarrollo, o la opción de importar un proyecto ya existente, elegimos la que más nos convenga y mediante unos pocos comandos de consola configuramos la rama principal de nuestro repositorio, que por defecto se llamará “master”.

Para iniciar un nuevo repositorio, Github nos da unos pocos comandos que ya conocemos y algunos que veremos a continuación.

Ejemplo: Github New Repository

Para poder colaborar en cualquier proyecto Git, necesitas saber cómo gestionar tus repositorios remotos y para ello tenemos otros comandos que utilizaremos frecuentemente.

git clone

Si deseas obtener una copia de un repositorio Git existente; por ejemplo, un proyecto en el que te gustaría contribuir, el comando que necesitas es git clone y la [URL] del repositorio que quieres clonar.

Con este comando estás haciendo una copia del repositorio remoto y añadiendolo a tus archivos locales.

git remote

Este comando se usa para conectar a un repositorio remoto. Por ejemplo cuando queremos conectar un proyecto local a un repositorio que hemos hecho en Github (remoto):

La sintaxis es:

~ git remote add origin [URL]

git push

Cuando quieres compartir tu proyecto, tienes que enviarlo a un repositorio remoto. El comando que te permite hacer esto es sencillo:

~ git push origin master

Este es uno de los comandos más básicos. Un simple push envía los cambios que se han hecho en tus archivos locales al repositorio externo al que esté ligado.

Este comando funciona únicamente si has clonado un repositorio en el que tienes permiso de escritura. Ejemplo: tu propio Repositorio de Github.

Recuerda que esto solo es el inicio de lo que nos ofrece Git y Github para gestionar nuestros proyectos y sus versiones.

Aprende más sobre Programación y la mejor forma de iniciarte en este ambiente visitando la página de MUKTEK.

--

--