Saltar al contenido
Nuevo

DeepSeek V4.1 Flash gratis por 7 días: 10M tokens al día tras cualquier recarga. Hasta el 30/11.

Cómo funciona

¿Qué es GitHub? Repositorios, ramas y tu primer proyecto

GitHub para principiantes: qué hacen Git y GitHub, los términos básicos, una práctica local con Git y cómo revisar un proyecto antes de ejecutarlo.

Principiante5 min de lecturaPor NotHoly

GitHub es un sitio web donde las personas guardan, comparten y revisan proyectos de software. La mayoría de esos proyectos se controlan con Git, una herramienta de control de versiones que registra cada cambio en un conjunto de archivos. GitHub mantiene los repositorios Git en línea, ofrece una interfaz web y da a los equipos pull requests, issues y releases para trabajar juntos en el código.

Respuesta corta: Git es la herramienta, y GitHub es uno de los lugares donde los proyectos Git se alojan y se discuten.

Git y GitHub son herramientas separadas

Git funciona en tu propia computadora. Puedes convertir cualquier carpeta en un repositorio y registrar cambios sin conexión a internet y sin una cuenta de GitHub.

GitHub es un servicio en línea. Guarda copias de repositorios Git, muestra archivos e historial en el navegador y añade funciones como seguimiento de issues y pull requests. Otros servicios también alojan repositorios Git, así que GitHub es solo uno de los lugares donde se alojan proyectos Git.

Cinco términos que conviene aprender primero

  • Repositorio (repo): una carpeta de proyecto junto con todo su historial de cambios.
  • Commit: una instantánea guardada de los cambios, con un mensaje que los explica.
  • Branch (rama): una línea separada de commits. Trabajas en una rama para que la línea principal siga estable mientras pruebas una idea.
  • Pull request: una solicitud para fusionar los commits de una rama en otra, normalmente después de que alguien revisa las diferencias.
  • Release: una versión con nombre que los mantenedores decidieron publicar, a menudo con archivos para descargar.

Crear un repositorio tú mismo es la forma más rápida de entender estos términos.

Practica Git en tu máquina

No necesitas GitHub para aprender lo básico. Instala Git desde el sitio oficial, git-scm.com, y luego revisa la versión instalada:

bash
git --version

En la máquina Windows donde se revisó este artículo, el comando imprimió:

text
git version 2.49.0.windows.1

Tu salida mostrará otra versión. Después, configura el nombre y el correo que Git asocia a cada commit. Usa tus propios datos:

bash
git config --global user.name "Your Name"
git config --global user.email "[email protected]"

Ahora crea un repositorio de práctica con dos ramas y dos commits:

bash
mkdir security-learning-notes
cd security-learning-notes
git init
printf '# security-learning-notes\n' > README.md
git add README.md
git commit -m "Add README"
git switch -c add-glossary
printf -- '- DNS\n- HTTPS\n- hash\n- encryption\n' > glossary.md
git add glossary.md
git commit -m "Add glossary terms"
git branch

Al ejecutar git branch en ese repositorio, la salida fue:

text
* add-glossary
  master

El asterisco marca la rama en la que estás. El nombre de la rama predeterminada puede ser master o main, según tu configuración de Git. En Windows, Git también puede mostrar advertencias sobre los finales de línea. Esas advertencias no cambian los commits.

Pon el proyecto en GitHub

La guía Hello World de GitHub recorre este flujo en el navegador. Los menús y los nombres de los botones cambian con el tiempo, así que sigue la guía oficial si tu pantalla no coincide con este texto:

  1. Crea una cuenta en github.com.
  2. Crea un repositorio nuevo llamado security-learning-notes. Elige público o privado.
  3. Añade un archivo README.md con una frase que describa el proyecto.
  4. Crea una rama llamada add-glossary.
  5. Añade una lista corta de términos y haz el commit.
  6. Abre un pull request, lee el diff y haz el merge.

El paso del pull request importa incluso en un repositorio personal. La vista del diff muestra exactamente qué líneas cambiaron antes de que algo llegue a la rama principal.

Para enviar un repositorio local a GitHub, crea un repositorio vacío en el sitio y luego conéctalo desde la terminal. OWNER y REPOSITORY son marcadores de posición. Cambia main por el nombre de tu rama si git branch muestra master:

bash
git remote add origin https://github.com/OWNER/REPOSITORY.git
git push -u origin main

Descargar un proyecto

Un git clone copia el repositorio con su historial completo:

bash
git clone https://github.com/OWNER/REPOSITORY.git

Sustituye OWNER y REPOSITORY por el dueño y el nombre que aparecen en la barra de direcciones de la página del proyecto. Clonar descarga archivos. No ejecuta nada del proyecto y no demuestra que sea seguro. Un ZIP descargado desde el sitio trae los archivos sin historial, lo cual sirve para leer, pero pierde el rastro de commits.

Revisa el proyecto antes de ejecutarlo

Antes de ejecutar una herramienta que nunca has usado, revisa el propio repositorio:

  • ¿Es el proyecto oficial original o un fork de un dueño desconocido?
  • ¿Tiene licencia, y el README enumera los requisitos con claridad?
  • ¿El proyecto publica releases? Si publica checksums o firmas, verifica el archivo descargado con ellos.
  • ¿El install.sh u otro script de instalación cambia paquetes del sistema, instala servicios o pide privilegios de administrador?
  • ¿Qué conexiones de red y permisos necesitará la herramienta?
  • ¿Puedes probarla primero en un contenedor o en una máquina virtual desechable?

Lee los scripts de instalación antes de ejecutarlos. Un README que te pide pegar un comando en la terminal te está pidiendo que ejecutes código en tu máquina.

Las herramientas de seguridad son para trabajo autorizado. Practica en máquinas que son tuyas, en un laboratorio que tú montaste o en objetivos para los que tienes permiso por escrito.

Errores comunes de principiantes

Confundir Git con GitHub es un error frecuente. Git funciona en tu computadora y no necesita un sitio web. GitHub es un servicio construido alrededor de Git.

Subir secretos al repositorio es el segundo. Un token o una contraseña que subes a un repositorio público los puede copiar cualquiera que los encuentre. Borrar la línea en un commit posterior no la elimina del historial. Revoca primero la credencial y luego sigue la guía de GitHub sobre cómo eliminar datos sensibles de un repositorio.

Ejecutar comandos de un README sin leerlos es el tercero. Los scripts de instalación pueden cambiar tu computadora, así que léelos antes de ejecutarlos.

Siguiente paso

El siguiente artículo de esta ruta explica cómo crear una cuenta de GitHub y tu primer repositorio. Cuando estos conceptos básicos ya te resulten habituales, puedes empezar a mirar herramientas de seguridad. Prueba cada una en un laboratorio que controles antes de confiarle algo real.

Fuentes

  1. GitHub Docs: Hello World
  2. Pro Git: About Version Control
  3. Git documentation: git-clone
  4. GitHub Docs: About pull requests
  5. GitHub Docs: Removing sensitive data from a repository

Más en Linux y herramientas de desarrollo

Linux y herramientas de desarrollo

Bash básico para trabajo de seguridad

Aprende pipes, redirección, variables, bucles, códigos de salida y set -euo pipefail, y úsalos para contar logins fallidos y hashear una carpeta.

Principiante14 min de lectura

Linux y herramientas de desarrollo

Permisos en Linux: usuarios, grupos, chmod y umask

Propietarios, grupos, bits rwx, chmod, umask y setuid en Linux, con un laboratorio que prueba el acceso de otro usuario y busca modos riesgosos.

Principiante13 min de lectura

Linux y herramientas de desarrollo

Claves SSH: cómo funcionan y cómo usarlas con seguridad

Cómo funcionan las claves SSH de host y de usuario, por qué Ed25519 con frase de paso es el estándar y cómo proteger el acceso en una VM de laboratorio.

Principiante11 min de lectura