Tendencias:
comandos git

Qué es GIT y Comandos GIT básicos que deberías conocer

08/04/2022
Número de visualizaciones

A lo largo de este artículo voy a explicar qué es GIT y cuales son los principales comandos GIT utilizados por este DVCS.

De lejos, el sistema de control de versiones más utilizado en el mundo actualmente es GIT.

GIT es un proyecto de código abierto, mantenido de forma activa, desarrollado originalmente en 2005 por Linus Torvalds, el famoso creador del kernel del sistema operativo Linux.

En lugar de tener un solo lugar para el historial de versiones completo de un software, en GIT, cada copia de trabajo del código del desarrollador también es un repositorio en el cual se puede encontrar el historial completo de todos los cambios.

Además de ser distribuido, GIT ha sido diseñado teniendo en cuenta el rendimiento, la seguridad y la flexibilidad.

Puedes ver una serie de buenas prácticas sobre el uso de GIT en este artículo.

Si bien existen interfaces GUI (como GitGUI) disponibles para GIT, la familiaridad con al menos los comandos GIT básicos de la interfaz de la línea de comandos de git (GitBash en Windows) sirve para mejorar la capacidad para utilizar la herramienta con la máxima eficacia.

A continuación, explicaré el conjunto básico de comandos GIT más utilizados para navegar y mantener de manera efectiva el repositorio utilizando solo la interfaz de línea de comandos de Git Bash.

Comandos GIT para configurar GIT y crear repositorios

Después de instalar Git en su equipo, lo primero que debe hacer es configurar un repositorio. Un repositorio (repo) es una carpeta ubicada centralmente para almacenar todo su código. Una vez que cree un repositorio Git con sus archivos y directorios, puede comenzar a rastrear cambios y versiones.

Para configurar GIT y crear repositorios existen los siguientes comandos:

Git config

El comando git config sirve para definir valores de configuración de Git a nivel de un proyecto global o local. Estos niveles de configuración se corresponden con archivos de texto con extensión .gitconfig.

git config

Git init

Este comando inicializa un nuevo repositorio en el repositorio local.

git init

Git clone

Este comando inicializa un nuevo repositorio en el repositorio local clonando íntegramente el contenido de un repositorio remoto que le indiquemos mediante una URL.

git clone

Comandos GIT manejo de archivos y cambios

Es necesario saber cómo guardar los cambios (en GitHub) de los archivos que creemos, modifiquemos y borremos en nuestro repositorio local.

Es importante tener en cuenta que Git no guarda automáticamente todos los cambios que se realicen. Debe indicar a Git qué cambios desea que se registren añadiendo al área staging area de esos cambios.

Después de añadirlos al área staging area, puede confirmar (commit) los cambios para que se registren en el repositorio local y de ahí, posteriormente, pasarlos al repositorio remoto (GitHub).

Los comandos utilizados para el manejo de archivos y cambios son:

Git add

Una vez que hemos realizado los cambios necesarios en nuestra área de trabajo (working area), para comenzar la confirmación de dichos cambios, es necesario pasar todos los archivos que queramos confirmar al área de preparación (staging area).

git add

Git commit

Una vez que tenemos archivos preparados en el área de preparación, para confirmar dichos archivos y crear una confirmación de cambios la sentencia utilizada es git commit.

git commit

Git log

Cada vez que confirmamos cambios (Hacemos un git commit), se crea una confirmación con un número hash identificativo. Dicho número hash determina cada confirmación realizada y será importante para futuras operaciones.

El comando para ver todas las confirmaciones realizadas en nuestro repositorio es Git log.

git log

Git diff

Este comando permite ver las diferencias que existen entre las confirmaciones que determinemos. Se hace referenciando las confirmaciones mediante su número hash.

git diff

También se puede utilizar git diff con la palabra HEAD. HEAD hace referencia al commit que tenemos guardado en nuestro repositorio local.

Git reset

Puede descartar confirmaciones que ya no necesita usar utilizando el comando git reset. Hay que tener mucho cuidado con este comando ya que es destructivo y por tanto borrará todos los cambios realizados en el commit que le indiquemos.

git reset

Git revert

Puede utilizar dicho comando para deshacer de forma segura una confirmación que ya se haya enviado.

git revert

Git tag

Una etiqueta Git (tag) se utiliza para etiquetar y marcar una confirmación específica en el historial. Las etiquetas se usan comúnmente para indicar versiones de lanzamiento (release), con el nombre de la versión (por ejemplo, v1.0) que es el nombre de la etiqueta.

git tag

Comandos GIT para manejo de repositorios remotos

La parte más interesante de GIT es la posibilidad de trabajar con repositorios remotos (como GitHub) para poder llevar a cabo proyectos grandes gracias a un equipo de desarrollo.

Los comandos GIT más utilizados para ello son:

Git remote

Para conectar al repositorio remoto con el cual nos comunicaremos entre nuestro repositorio local y dicho repositorio remoto el comando utilizado es git remote.

git remote

Git Branch

Las ramas es uno de los conceptos más interesantes dentro de GIT. Permite el trabajo en paralelo sobre distintas partes del código base para añadir funcionalidades, corregir errores o realizar versiones de nuestros proyectos.

La rama principal de un repositorio es la rama master, la cual sirve para, cuando se realicen todos los cambios necesarios en el área de trabajo, confirmar una nueva versión y poder sincronizarla con el repositorio remoto.

Para listar una rama, el comando utilizado es git branch. Si se desea crear una nueva rama hay que especificar un nombre para dicha rama nueva.

git branch

Git checkout

Para moverse entre las ramas creadas y realizar los cambios necesarios sobre dichas ramas, el comando utilizado es git checkout.

Para cambiar de la rama actual a la rama que indiquemos, el comando sería:

git checkout

Git status

Podemos comprobar en cualquier momento el estado de la rama en la que nos encontramos para comprobar si existen archivos (o directorios) que tienen cambios que deben de ser confirmados o rechazados.

git status

Git merge

Una vez que se han realizado los cambios necesarios en la rama creada, se debe de combinar con la rama “superior” para que se unan los cambios entre ambas ramas y la rama superior “apunte” a la confirmación más actualizada del proyecto.

Existen dos comandos en Git para realizar estas combinaciones, git merge y git rebase.

Si se desea conservar todos los cambios e historiales de la rama combinada, el comando a utilizar sería git merge que realiza una fusión entre las ramas seleccionadas.

git merge

Git rebase

Si se desea mantener un historial de revisiones limpio el comando a utilizar para combinar las ramas sería git rebase. Este comando reorganiza las ramas y crea una única revisión de dicha combinación de ramas.

git rebase

Git push

Una vez que ya hemos realizado todos los cambios necesarios, hemos combinado todas nuestras ramas (o las deseadas) y tenemos dichos cambios confirmados en la rama maestra (master) se puede llevar a cabo la sincronización del contenido de nuestro repositorio local con el repositorio remoto.

Para enviar todos los cambios que tenemos en nuestro repositorio local al repositorio remoto, el comando a utilizar sería git push.

git push

Git pull

Para extraer todos los cambios del repositorio remoto en nuestro repositorio local y poder tener así la última confirmación de dicho repositorio, el comando a utilizar es git pull.

git pull

GIT, una solución ideal para gestionar tus proyectos de software

GIT está pensado para todo tipo de proyectos, desde un proyecto individual hasta un proyecto enorme de una gran empresa.

Los comandos GIT aquí explicados no son, de ninguna manera, todos los disponibles. Se han incluido los comandos básicos necesarios para comenzar a usarlo, y las opciones de uso común para cada comando.

Existe una gran cantidad de información adicional disponible en Internet. Puedes consultar todos los comandos disponibles en la página oficial de GIT.

Si estás interesado en profundizar en el manejo de GIT te recomiendo el Curso Superior en DevOps o los siguientes máster: Master en Gestión y Desarrollo de Aplicaciones Multiplataforma (DAM) o Master DevOps y Cloud Computing.

Si te ha gustado el artículo y quieres ver otros escritos por mí, puedes entrar a mi perfil.

Categorizado en: Informática y TICS

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Descubre MasterClass de INESEM. Una plataforma en la que profesionales enseñan en abierto

Profesionales enseñando en abierto

Universidades colaboradoras
La universidad Antonio de Nebrija es Universidad colaboradora con INESEM Business School La universidad a Distancia de Madrid es Universidad colaboradora con INESEM Business School