github/gitignore · Go.gitignore

شرح قالب .gitignore لـ Go

يشرح سبب تجاهل Go.gitignore للملفات الثنائية وملفات الاختبار الثنائية وملفات التغطية وgo.work، ولماذا يجب حجب الملفات التنفيذية بلا امتداد بشكل منفصل.

فتح في المولّد فتح مع JetBrains, VisualStudioCode, macOS, Linux

يتناول Go.gitignore الملفات الثنائية الناتجة عن البناء، ومخرجات الاختبار والتغطية، وملفات مساحة العمل المحلية. ولأن Go ينزّل الاعتماديات إلى ذاكرة الوحدات ($GOPATH/pkg/mod)، لا ينشأ داخل المستودع مجلد ضخم مثل node_modules في Node، والقالب قصير أيضًا.

لا يُتجاهَل go.mod وgo.sum. يسجّل هذان الملفان اعتماديات الوحدة ومجاميعها الاختبارية (checksum)، فيجب إيداعهما.

شرح القواعد

النمطما الذي يتجاهله ولماذا
*.exe*.exe~*.dll*.so*.dylibالملفات الثنائية والمكتباتنتائج go build والمكتبات المشتركة المبنية عبر cgo. تُبنى لكل منصة على حدة، لذا توزَّع كمخرجات إصدار لا عبر المستودع.
*.testملفات الاختبار الثنائيةملفات اختبار تنفيذية ينشئها go test -c، ويُلحق باسم الحزمة .test.
*.outcoverage.**.coverprofileprofile.covالتغطية والتوصيفنتائج أوامر مثل go test -coverprofile=coverage.out. إنها قياسات تتغير مع كل تشغيل.
go.workgo.work.sumمساحة العململفات تُستخدم عند تطوير عدة وحدات معًا محليًا، وتشير إلى مسارات على قرصك. توضح وثائق go help work أيضًا أن وضع go.work تحت إدارة الإصدارات غير مستحسن عمومًا.
.envمتغيرات البيئةملف يحوي الإعدادات المحلية والقيم السرية. أودِع ملف المثال باسم آخر (مثل .env.example).

ملاحظات عملية

القالب الأصلي

Go.gitignoreالقواعد: 13 سطرًا
# 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/

مصدر القوالب: github/gitignore/Go.gitignore @356fd7b (2026-09-11) · CC0-1.0

قوالب تُستخدم معه

شروح قوالب أخرى