github/gitignore · Go.gitignore

Template .gitignore do Go explicado

Explica por que o Go.gitignore ignora binários, binários de teste, perfis de cobertura e go.work, e por que é preciso bloquear à parte os executáveis sem extensão.

Abrir no gerador Abrir junto com JetBrains, VisualStudioCode, macOS, Linux

O Go.gitignore trata dos binários resultantes do build, dos artefatos de teste e cobertura e dos arquivos de workspace local. O Go baixa as dependências no cache de módulos ($GOPATH/pkg/mod), por isso não surge dentro do repositório uma pasta enorme como o node_modules do Node, e o template também é curto.

go.mod e go.sum não são ignorados. Esses dois arquivos registram as dependências e os checksums do módulo, então devem sempre ser commitados.

Explicação regra por regra

PadrãoO que ignora e por quê
*.exe*.exe~*.dll*.so*.dylibBinários e bibliotecasSão os resultados do go build e as bibliotecas compartilhadas criadas com cgo. São compilados separadamente para cada plataforma, então são distribuídos como artefatos de release, não pelo repositório.
*.testBinários de testeSão os executáveis de teste criados com go test -c. Recebem .test depois do nome do pacote.
*.outcoverage.**.coverprofileprofile.covCobertura e perfisSão resultados gerados por comandos como go test -coverprofile=coverage.out. São medições que mudam a cada execução.
go.workgo.work.sumWorkspaceSão arquivos usados para desenvolver vários módulos juntos localmente e apontam para caminhos do seu disco. A documentação de go help work também explica que, em geral, não se recomenda colocar o go.work no controle de versão.
.envVariáveis de ambienteÉ o arquivo com a configuração local e os valores secretos. O arquivo de exemplo é commitado com outro nome (por exemplo, .env.example).

Cuidados na prática

Template original

Go.gitignore13 linhas de regras
# 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/

Origem dos templates: github/gitignore/Go.gitignore @356fd7b (2026-09-11) · CC0-1.0

Templates usados em conjunto

Outros templates explicados