Arostik Logo
ArostikVLARCK

Micro-Technology Solutions

Aros StudentAnalogía Cotidiana Incluida

Git vs GitHub: Key Differences, Repository Architecture, Branching Workflows and Essential Commands

Practical and conceptual guide on distributed version control: understand local Git vs cloud GitHub and master daily development commands.

AS

AS

Aros Student

Sep 5, 20264 min850 views
Git vs GitHub: Key Differences, Repository Architecture, Branching Workflows and Essential Commands

Git y GitHub: El Corazón del Desarrollo de Software Colaborativo

Arquitectura de Control de Versiones Distribuido, Estados de Archivos y Comandos Imprescindibles

En el ecosistema del desarrollo de software moderno, Git y GitHub son dos herramientas complementarias pero conceptualmente distintas que a menudo confunden a quienes inician en programación. Git es un sistema de control de versiones distribuido (DVCS) de código abierto que se ejecuta localmente en tu computadora para rastrear cada cambio en el historial de tu código. GitHub, en cambio, es una plataforma en la nube (propiedad de Microsoft) que hospeda repositorios Git remotos, facilitando la colaboración en equipo, revisiones de código mediante Pull Requests, CI/CD con GitHub Actions y gestión de incidencias.

En la Tecnología Real (Explicación Sencilla)

Escenario de Aplicación Real: - Git en tu máquina: Estás desarrollando una nueva función de autenticación. Creas una rama feature/oauth2, haces commits periódicos para guardar puntos de restauración y experimentas con seguridad sin tocar la versión funcional. Todo esto ocurre en tu disco duro sin necesidad de conexión a Internet. - GitHub en el equipo: Al terminar tu función, haces un git push hacia GitHub. Tus compañeros de equipo reciben una notificación, revisan el código línea por línea en la web, dejan comentarios, se ejecutan pruebas automáticas con GitHub Actions y finalmente se fusiona (merge) al proyecto principal.

Explicación Técnica: Los 4 Ámbitos de Git

Para comprender Git con precisión matemática, es fundamental entender sus cuatro áreas de almacenamiento:

1.
Working Directory (Directorio de Trabajo): Tus archivos físicos actuales en disco con los que estás interactuando en tu editor de código.
2.
Staging Area (Index / Área de Preparación): El búfer temporal donde seleccionas qué cambios específicos formarán parte del próximo commit (git add).
3.
Local Repository (Directorio .git): La base de datos local donde se almacenan todos los commits, ramas, etiquetas y objetos inmutables identificados por hashes criptográficos SHA-1/SHA-256.
4.
Remote Repository (GitHub / GitLab / Bitbucket): La copia remota sincronizada en la nube accesible por el resto de colaboradores del equipo.
AspectoGit (El Motor Local)GitHub (La Plataforma en la Nube)
Tipo de softwareHerramienta CLI de línea de comandos localPlataforma web SaaS en la nube
Conectividad requerida100% offline (sin conexión a Internet)Requiere conexión a Internet
Función principalRegistrar snapshots de cambios y ramificaciónHospedar repositorios remotos y colaboración
Características claveCommits, merges, rebase, diff, logsPull Requests, Issues, CI/CD Actions, Wiki

Chuleta de Comandos Esenciales de Git

arostik@ubuntu:~ (bash)
# ── 1. INICIALIZACIÓN Y CONFIGURACIÓN ──git init                           # Inicializa un nuevo repositorio Git localgit clone https://github.com/u/repo # Clona un repositorio remoto completogit config --global user.name "Tu Nombre"git config --global user.email "tu@email.com" # ── 2. CICLO DIARIO DE TRABAJO ──git status                         # Consulta el estado del directorio de trabajo y staginggit diff                           # Compara las diferencias no preparadasgit add archivo.js                 # Agrega un archivo específico al área de preparacióngit add .                          # Agrega todos los archivos modificadosgit commit -m "feat: login con jwt" # Guarda un snapshot con mensaje descriptivo # ── 3. RAMAS Y NAVEGACIÓN ──git branch                         # Lista todas las ramas localesgit checkout -b feature/nueva-rama # Crea y se posiciona en una nueva ramagit switch feature/nueva-rama      # Alternativa moderna para cambiar de ramagit merge feature/nueva-rama       # Fusiona la rama indicada en la rama actual # ── 4. SINCRONIZACIÓN REMOTA CON GITHUB ──git remote add origin https://...  # Vincula el repositorio local con GitHubgit pull origin main               # Descarga y fusiona los cambios más recientesgit push -u origin main            # Sube tus commits locales al servidor remoto # ── 5. DESHACER CAMBIOS CON SEGURIDAD ──git restore archivo.js             # Descarta modificaciones no preparadasgit stash                          # Guarda temporalmente cambios sucios en memoriagit stash pop                      # Recupera los cambios guardados del stashgit log --oneline --graph          # Muestra el árbol de historial simplificado

Nota Técnica

Nota de Seguridad en Git: Nunca subas contraseñas, tokens de API o archivos .env a un repositorio público en GitHub. Configura siempre un archivo .gitignore antes de realizar tu primer commit.

Glosario Rápido

1.
Commit: Instantánea inmutable del estado de los archivos en un momento dado, identificada por un hash criptográfico.
2.
Pull Request (PR): Solicitud formal en GitHub para que otros desarrolladores revisen y aprueben la integración de una rama secundaria a la rama principal.
3.
Merge Conflict: Situación en la que dos ramas modificaron las mismas líneas de un archivo y Git requiere que el desarrollador elija manualmente qué cambios conservar.

Mini Cuestionario Interactivo3 preguntas

Selecciona una opción para autoevaluarte al instante. La respuesta se califica de inmediato.

Aciertos: 0 / 3
1

¿Cuál es la diferencia fundamental entre Git y GitHub?

2

¿Qué comando traslada los archivos modificados al área de preparación (Staging Area)?

3

¿Por qué es crucial crear un archivo .gitignore en la raíz de tu proyecto?

Diagnóstico y Práctica en Arostik

Prueba expresiones regulares para ignorar archivos y validar ramas con nuestro Probador de Expresiones Regulares.

Tu opinión mejora Aroslap

¿Te resultó útil esta publicación?

Califica tu experiencia para optimizar los próximos artículos técnicos.

Selecciona una calificación

More Articles in Aros Student