github/gitignore · Go.gitignore

Modèle .gitignore Go expliqué

Explique pourquoi Go.gitignore ignore les binaires, les binaires de test, les profils de couverture et go.work, et pourquoi il faut bloquer séparément les exécutables sans extension.

Ouvrir dans le générateur Ouvrir avec JetBrains, VisualStudioCode, macOS, Linux

Go.gitignore traite les binaires issus du build, les artefacts de test et de couverture, ainsi que les fichiers d'espace de travail locaux. Comme Go télécharge les dépendances dans le cache de modules ($GOPATH/pkg/mod), aucun énorme dossier comme le node_modules de Node n'apparaît dans le dépôt, et le modèle est court.

go.mod et go.sum ne sont pas ignorés. Ces deux fichiers enregistrent les dépendances du module et leurs sommes de contrôle : il faut impérativement les commiter.

Explication règle par règle

MotifCe qui est ignoré et pourquoi
*.exe*.exe~*.dll*.so*.dylibBinaires et bibliothèquesRésultats de go build et bibliothèques partagées créées avec cgo. Ils sont compilés séparément pour chaque plateforme et se distribuent comme artefacts de release, pas via le dépôt.
*.testBinaires de testExécutables de test créés par go test -c. Le suffixe .test est ajouté au nom du paquet.
*.outcoverage.**.coverprofileprofile.covCouverture et profilageRésultats produits par des commandes comme go test -coverprofile=coverage.out. Ce sont des mesures qui changent à chaque exécution.
go.workgo.work.sumEspace de travailFichiers utilisés pour développer plusieurs modules ensemble en local ; ils pointent vers des chemins de votre disque. La documentation go help work indique elle aussi qu'il n'est généralement pas recommandé de placer go.work sous contrôle de version.
.envVariables d'environnementFichier contenant la configuration locale et des valeurs secrètes. Le fichier d'exemple se commite sous un autre nom (par exemple .env.example).

Points d'attention en pratique

Modèle d'origine

Go.gitignore13 règles
# 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/

Source des modèles : github/gitignore/Go.gitignore @356fd7b (2026-09-11) · CC0-1.0

Modèles utilisés ensemble

Autres modèles expliqués