github/gitignore · Go.gitignore

Plantilla .gitignore de Go explicada

Explica por qué Go.gitignore ignora binarios, binarios de prueba, perfiles de cobertura y go.work, y por qué hay que bloquear aparte los ejecutables sin extensión.

Abrir en el generador Abrir junto con JetBrains, VisualStudioCode, macOS, Linux

Go.gitignore trata los binarios resultantes de la compilación, los artefactos de pruebas y cobertura, y los archivos de espacio de trabajo local. Go descarga las dependencias en la caché de módulos ($GOPATH/pkg/mod), por lo que no aparece dentro del repositorio una carpeta enorme como el node_modules de Node, y la plantilla también es corta.

go.mod y go.sum no se ignoran. Estos dos archivos registran las dependencias y sumas de verificación del módulo, así que siempre se confirman.

Explicación regla por regla

PatrónQué ignora y por qué
*.exe*.exe~*.dll*.so*.dylibBinarios y bibliotecasSon los resultados de go build y las bibliotecas compartidas creadas con cgo. Se compilan por separado para cada plataforma, así que se distribuyen como artefactos de versión y no a través del repositorio.
*.testBinarios de pruebaSon los ejecutables de prueba creados con go test -c. Llevan .test tras el nombre del paquete.
*.outcoverage.**.coverprofileprofile.covCobertura y perfilesSon resultados generados por comandos como go test -coverprofile=coverage.out. Son mediciones que cambian en cada ejecución.
go.workgo.work.sumEspacio de trabajoSon archivos que se usan para desarrollar varios módulos juntos en local y apuntan a rutas de tu disco. La documentación de go help work también explica que en general no se recomienda incluir go.work en el control de versiones.
.envVariables de entornoEs el archivo con la configuración local y los valores secretos. El archivo de ejemplo se confirma con otro nombre (por ejemplo, .env.example).

Precauciones en la práctica

Plantilla original

Go.gitignore13 líneas de reglas
# If you prefer the allow list template instead of the deny list, see community template:# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore## Binaries for programs and plugins*.exe*.exe~*.dll*.so*.dylib# Test binary, built with `go test -c`*.test# Code coverage profiles and other test artifacts*.outcoverage.**.coverprofileprofile.cov# Dependency directories (remove the comment below to include it)# vendor/# Go workspace filego.workgo.work.sum# env file.env# Editor/IDE# .idea/# .vscode/

Origen de las plantillas: github/gitignore/Go.gitignore @356fd7b (2026-09-11) · CC0-1.0

Plantillas que suelen usarse juntas

Otras plantillas explicadas