github/gitignore · Go.gitignore

Go-.gitignore-Vorlage erklärt

Erklärt, warum Go.gitignore Binärdateien, Test-Binärdateien, Coverage-Profile und go.work ignoriert und warum ausführbare Dateien ohne Endung separat blockiert werden müssen.

Im Generator öffnen Zusammen mit JetBrains, VisualStudioCode, macOS, Linux öffnen

Go.gitignore behandelt die Binärdateien aus dem Build, Test- und Coverage-Artefakte sowie lokale Workspace-Dateien. Da Go Abhängigkeiten in den Modul-Cache ($GOPATH/pkg/mod) lädt, entsteht im Repository kein riesiger Ordner wie Nodes node_modules, und die Vorlage ist kurz.

go.mod und go.sum werden nicht ignoriert. Diese beiden Dateien halten die Abhängigkeiten und Prüfsummen des Moduls fest und müssen unbedingt committet werden.

Regeln im Einzelnen

MusterWas ignoriert wird und warum
*.exe*.exe~*.dll*.so*.dylibBinärdateien und BibliothekenErgebnisse von go build und mit cgo erzeugte gemeinsam genutzte Bibliotheken. Sie werden für jede Plattform separat gebaut und als Release-Artefakte verteilt, nicht über das Repository.
*.testTest-BinärdateienMit go test -c erzeugte ausführbare Testdateien. An den Paketnamen wird .test angehängt.
*.outcoverage.**.coverprofileprofile.covCoverage und ProfilingErgebnisse von Befehlen wie go test -coverprofile=coverage.out. Es sind Messwerte, die sich bei jedem Lauf ändern.
go.workgo.work.sumWorkspaceDateien, mit denen mehrere Module lokal gemeinsam entwickelt werden; sie verweisen auf Pfade auf Ihrer Festplatte. Auch die Dokumentation go help work erklärt, dass es im Allgemeinen nicht empfohlen wird, go.work unter Versionskontrolle zu stellen.
.envUmgebungsvariablenDatei mit lokaler Konfiguration und geheimen Werten. Eine Beispieldatei wird unter anderem Namen committet (z. B. .env.example).

Hinweise für die Praxis

Originalvorlage

Go.gitignore13 Regeln
# 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/

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

Häufig kombinierte Vorlagen

Weitere Vorlagenerklärungen