Git y GitHub

Git y GitHub (https://git.com) han revolucionado la forma en que los desarrolladores trabajan juntos y gestionan el control de versiones de sus proyectos. Git, un sistema de control de versiones distribuido, permite un seguimiento preciso de los cambios en el código fuente, mientras que GitHub, una plataforma basada en la web, facilita la colaboración y el trabajo en equipo. En este artículo, exploraremos las principales funcionalidades de GitHub y los comandos fundamentales y avanzados de Git para que puedas aprovechar al máximo estas poderosas herramientas.

¿Qué es Git?

Git es un sistema de control de versiones que rastrea los cambios en los archivos a lo largo del tiempo. Su diseño distribuido permite a los equipos de desarrollo colaborar de manera eficiente y mantener un historial preciso de todas las modificaciones.

Principales Funcionalidades de GitHub:

  1. Repositorios:
  2. Branches (Ramificaciones):
    • Permite trabajar en nuevas características sin afectar la rama principal.
    • Ejemplo: Crear una nueva rama para una función específica: git checkout -b nueva-funcionalidad.
  3. Pull Requests:
    • Proporciona un mecanismo para fusionar cambios entre ramas.
    • Ejemplo: Crear un pull request desde una rama a la rama principal.
  4. Issues:
    • Facilita el seguimiento de errores, mejoras y tareas pendientes.
    • Ejemplo: Abrir un issue para informar sobre un error.
  5. Colaboradores:
    • Invita a otros desarrolladores a contribuir a tu proyecto.
    • Ejemplo: Añadir colaboradores a través de la configuración del repositorio en GitHub.

Acerca de la carperta .git

Cuando se crea un repositorio con el comando git init, o se clona desde github un repositorio, automáticamente se crea ka carpeta .git, esta carpeta por regla es una carpeta oculta y es de vital importancia para el sistema de control de versiones, si se borra, se perderá todo el historial de versiones guardado localmente y no se podrá recuperar.

Comandos Básicos de Git:

git init

Inicializa un nuevo repositorio Git.

git add

Añade cambios al área de preparación, puedes añadir individualmente un archivo o todos los archivos sin especificar el nombre.

git commit

Guarda los cambios en el repositorio.

Si agregamos -a al commit se agregan automáticamente todos los cambios

git commit -a -m "Mensaje del commit" 

git status

Muestra el estado actual del repositorio.

Comandos Avanzados de Git:

git branch:

Lista, crea o elimina ramas.

Obs: Al crear una rama no se posiciona directamente en ella, hay que cambiarse con el comando switch.

git switch:

Cambia de una rama a otra. Se debe escribir el nombre de la rama a cambiar.

Además se puede crear y posicionarse dentro de la rama a la vez con el siguiente comando.

git merge

Fusiona cambios de una rama a otra.

git log

Muestra el historial de commits.

git clone

Clona un repositorio existente.

git diff

Este comando ayuda a visulizar las diferencias de commits, branches, archivos, etc.

git config global

Este comando sirve para configurar algunas opciones de nuestro git, el siguiente comando sirve para configurar nuestras credenciales, si se ejecuta, luego a la siguiente vez nos preguntará nuestras credenciales y las almacenará en memoria.

Acciones

Forzar el pull request (para quedar alineados con la rama principal de github)

Para forzar el pull request desde la rama main github y sobreescribir nuestra la rama en local.

Mezclar nuestra rama a la rama principal

Primero se debe cambiar a la rama principal y luego aplicar merge

Conclusión:

Con estas herramientas y comandos básicos y avanzados, estás listo para aprovechar al máximo Git y GitHub. Recuerda practicar regularmente para fortalecer tus habilidades y mejorar tu flujo de trabajo de desarrollo. ¡Feliz codificación!

Entradas relacionadas

Lista Completa de Comandos VIM

El editor de texto VIM (Vi IMproved) es una herramienta poderosa y versátil, ampliamente utilizada por programadores y administradores de sistemas en Linux. Este editor, basado en…

Desplegar una aplicación en directorio raíz de tomcat y redireccionarla al puerto 80

Cuando desarrollas un aplicativo .war y lo deployas en un servidor tomcat, generalmente la ruta en donde se alojará la aplicación será localhost:8080/tuapp, lo que haremos es…

RabbitMQ

En el mundo de la mensajería y la integración de sistemas, RabbitMQ destaca como un sistema de mensajería robusto y altamente escalable. Su capacidad para facilitar la…

Instalar Docker Desktop en Ubuntu

Docker Desktop facilita la creación, gestión y ejecución de contenedores Docker en un entorno de desarrollo local. Proporciona una experiencia de usuario intuitiva gracias a su GUI

Comandos Docker

En el panorama del desarrollo de software, Docker se erige como una herramienta fundamental para simplificar la gestión de aplicaciones mediante la contenerización. La capacidad de encapsular…

Instalar Docker en Ubuntu

En el universo de la virtualización y la gestión de contenedores, Docker se erige como una herramienta esencial para simplificar el desarrollo y despliegue de aplicaciones.