Gist de GitHub: compartir código, notas y fragmentos
Tienes un script de diez líneas que usas cada pocas semanas, una configuración que quieres pasar a un compañero o una nota con los comandos que siempre olvidas. Crear un repositorio para eso es matar moscas a cañonazos, y si lo dejas en una carpeta del escritorio, acaba perdido en el olvido.
Para eso sirve GitHub Gist: una plataforma para snippets, es decir, pequeños fragmentos de código reutilizables con una función concreta. Los guardas, los compartes con un enlace y no se pierden.
Un gist es un fragmento con su propio enlace: cualquiera con el enlace puede leerlo y guarda cada versión que has escrito.
Qué es GitHub Gist
GitHub Gist es un servicio gratuito de GitHub para guardar y compartir fragmentos de código y notas sin crear un repositorio, en gist.github.com. Lo que lo diferencia de pegar código en cualquier web:
- Es Git por dentro. Cada gist es un repositorio, así que tiene historial de cambios (pestaña Revisions, con las diferencias entre versiones) y lo puedes clonar, modificar y subir con
git push. - Admite varios ficheros. Un gist puede tener un script y su README, por ejemplo.
- Resalta la sintaxis. Basta con poner la extensión en el nombre del fichero (
.js,.py,.sh…). - Se comparte con un enlace, se puede descargar en ZIP, insertar en una web o fijar en tu perfil de GitHub.
- Otros pueden bifurcarlo (fork) para hacer su versión, igual que un repositorio.
Gist público o secreto
Al crearlo eliges entre dos tipos:
Público
- Aparece en Discover y en el buscador de gists
- Cualquiera puede encontrarlo
- No se puede convertir en secreto
Secreto
- No aparece en búsquedas ni en Discover
- Pero cualquiera con la URL puede verlo
- Se puede hacer público más tarde
Un gist secreto no es privado: es un enlace sin anunciar.
Es como dejar la llave de casa debajo del felpudo: no la ve quien pasa por la calle, pero quien sabe dónde está, entra. Si el código tiene que ser privado de verdad, GitHub recomienda usar un repositorio privado. Y nunca pongas en un gist contraseñas, tokens ni ficheros .env, sea del tipo que sea. GitHub analiza también los gists secretos en busca de credenciales filtradas y avisa a los proveedores afectados, pero eso es una red de seguridad, no un permiso.
Cómo crear un gist desde la web
- Inicia sesión en GitHub y entra en gist.github.com (o pulsa el icono + de arriba a la derecha).
- Escribe una descripción (opcional, pero te ayudará a encontrarlo después).
- Pon el nombre del fichero con su extensión, por ejemplo
liberar-puerto.sh. - Pega el contenido. También puedes arrastrar un fichero de texto desde tu escritorio al editor.
- Pulsa Create secret gist o, en el desplegable del botón, elige Create public gist.
Por defecto, el botón crea un gist secreto.
Gist desde la terminal con gh gist
Si ya trabajas con la terminal, la CLI oficial de GitHub (gh) te ahorra abrir el navegador. La primera vez inicia sesión con gh auth login.
Crear un gist
# Gist secreto (es la opción por defecto)
gh gist create liberar-puerto.sh
# Gist público con descripción
gh gist create --public liberar-puerto.sh -d "Liberar un puerto ocupado en Linux"
# Varios ficheros en el mismo gist
gh gist create script.sh README.md
# Desde la salida de otro comando (con -f le das nombre al fichero)
history | tail -20 | gh gist create -f comandos-recientes.txt -
Al terminar, gh te devuelve la URL del gist. Con -w lo abre además en el navegador.
Ver, buscar y clonar
gh gist list # tus últimos 10 gists
gh gist list --filter puerto # filtra por descripción o nombre de fichero
gh gist view <id> # muestra el contenido
gh gist view <id> --raw # el contenido tal cual, sin formato
gh gist clone <id> # lo descarga como repositorio Git
Donde pone <id> vale el identificador del gist (el código largo del final de su URL) o la URL completa. Si no pones nada en view o edit, gh te deja elegir de una lista.
Editar y borrar
gh gist edit <id> # abre el fichero en tu editor
gh gist edit <id> --add notas.md # añade un fichero
gh gist edit <id> --desc "Nueva descripción"
gh gist rename <id> viejo.sh nuevo.sh # renombra un fichero
gh gist delete <id> # lo borra (pide confirmación)
Cada edición queda guardada como una revisión nueva del gist.
El enlace raw: gist.githubusercontent.com
El botón Raw de cada fichero abre el texto sin la página de GitHub alrededor. Esa dirección empieza por gist.githubusercontent.com y sirve para descargarlo con curl o leerlo desde otro programa:
curl -s https://gist.githubusercontent.com/octocat/6cad326836d38bd3a7ae/raw/hello_world.rb
Fíjate en un detalle. El enlace que copias del botón Raw incluye un código largo después de /raw/: es el commit de esa versión concreta, así que siempre devuelve ese contenido aunque el gist cambie después. Si quitas ese código, como en el ejemplo, obtienes la última versión.
Insertar un gist en una web o un blog
En el desplegable Embed de un gist tienes la etiqueta lista para copiar. Tiene esta forma:
<script src="https://gist.github.com/octocat/6cad326836d38bd3a7ae.js"></script>
Funciona en cualquier página que permita JavaScript. Si el gist tiene varios ficheros y solo quieres mostrar uno, añade ?file=NOMBRE al final de la URL del script. Los ficheros GeoJSON se muestran como mapas.
En ese mismo desplegable están las opciones Clone via HTTPS y Clone via SSH, por si prefieres clonarlo con git clone en lugar de gh.
Para quién es y alternativas
Gist encaja si ya tienes cuenta de GitHub y quieres compartir algo pequeño con un enlace: un script, una configuración, la solución a un error que acabas de resolver. Es gratuito y no necesita instalar nada.
No encaja si el contenido tiene que ser privado de verdad: los gists no tienen esa opción. Tampoco si el fragmento ya tiene tests, dependencias o varias personas trabajando en él; eso es un proyecto.
| Necesitas… | Alternativa | Por qué |
|---|---|---|
| Fragmentos privados | GitLab Snippets | Los snippets personales de GitLab pueden ser públicos o privados (solo los ves tú). También tienen varios ficheros, control de versiones e inserción en webs. |
| Código privado en GitHub | Un repositorio privado | Es lo que recomienda la propia documentación de GitHub cuando el código no debe verlo nadie más. |
Gists e IA: el mismo criterio
Un gist es una forma cómoda de guardar fragmentos que funcionan: tu configuración, un script que has probado, una nota. Cuando ese fragmento viene de un asistente de IA, la regla es la misma que con el gist de un desconocido: se lee y se prueba antes de guardarlo o compartirlo. Así tu colección de gists es una chuleta fiable y no un cajón de código que nadie ha revisado. Es la idea de fondo de la IA Limpia.
Tu chuleta
| Quiero… | En la web | En la terminal |
|---|---|---|
| Crear un gist | Botón + en gist.github.com | gh gist create fichero |
| Hacerlo público | Desplegable Create public gist | gh gist create --public fichero |
| Ver mis gists | Tu página de gists | gh gist list |
| Ver el contenido sin formato | Botón Raw | gh gist view <id> --raw |
| Descargarlo | Download ZIP | gh gist clone <id> |
| Insertarlo en una web | Desplegable Embed | — |
| Borrarlo | Delete | gh gist delete <id> |
Si los fragmentos crecen y empiezan a ser un proyecto, pásalos a un repositorio normal. Para organizar el trabajo en ramas, mira Git Flow, y si prefieres una interfaz gráfica para Git, GitKraken.
Fuentes
Comprobado en noviembre de 2026 en la documentación oficial de GitHub: Creating gists (gists públicos y secretos, creación, inserción, GeoJSON, descarga y análisis de secretos), Forking and cloning gists y la API REST de gists. Alternativa comprobada en la documentación de GitLab Snippets (visibilidad pública o privada de los snippets personales). Los comandos de gh gist se han comprobado en la ayuda de GitHub CLI 2.102.0 (gh gist <comando> --help) y en el manual de gh.
Ejecutado con GitHub CLI 2.102.0, Git 2.53.0 y curl en Linux 7.0, sobre el gist público de ejemplo de la cuenta oficial octocat: gh gist view --files, gh gist view --raw, gh gist clone, la descarga raw con curl y la URL de inserción .js. Los comandos que crean, editan o borran gists (create, edit, rename, delete) no se han ejecutado para no modificar ninguna cuenta real: se muestran tal como los documenta la ayuda oficial.
El artículo original se inspiró en «Gist by GitHub: otra manera de compartir código», de Geeky Theory (en noviembre de 2026 la página no respondía).