github/gitignore · Dotnet.gitignore
Penjelasan template .gitignore .NET
Menjelaskan mengapa Dotnet.gitignore mengabaikan bin dan obj, Debug dan Release, paket NuGet, log biner MSBuild, hasil pengujian, dan .env, serta perbedaannya dengan template VisualStudio.
Dotnet.gitignore adalah template ringkas untuk proyek bergaya .NET SDK (proyek C# dan F# yang dibuat dengan dotnet new). Seperti disebutkan komentar kepala template, jika memakai Visual Studio, sebaiknya gunakan juga template VisualStudio yang memiliki jauh lebih banyak aturan terkait IDE.
Jika mengembangkan dengan VS Code, Rider, atau baris perintah, template ini saja sudah cukup untuk memblokir sebagian besar hasil build dan produk sampingan alat.
Penjelasan per aturan
| Pola | Apa yang diabaikan dan mengapa |
|---|---|
[Bb]in/[Oo]bj/[Dd]ebug/[Rr]elease/x64/x86/bld/ | Output buildAssembly dan file perantara (obj/project.assets.json dan lainnya) yang dibuat dotnet build. Kurung siku menangkap perbedaan huruf besar-kecil seperti Bin dan bin. |
artifacts/project.lock.jsonproject.fragment.lock.json | Hasil .NETartifacts/ adalah folder tata letak output terpadu yang dapat dipakai sejak .NET 8, dan project.lock.json adalah hasil restore dari era project.json lama. |
*.nupkg*.snupkg | Paket NuGetPaket dan paket simbol yang dibuat dengan dotnet pack. Ini hasil yang dipublikasikan ke feed NuGet. |
*.binlog[Tt]est[Rr]esult*/[Bb]uild[Ll]og.*TestResult.xmlnunit-*.xmlCodeCoverage/ | Log dan hasil pengujianLog biner MSBuild (opsi -bl) serta hasil pengujian dan coverage. Log biner bisa berisi nilai sensitif seperti variabel lingkungan, jadi berhati-hatilah saat membagikannya. |
.env~$**~ | File lingkungan dan sementaraFile variabel lingkungan, file kunci yang muncul saat membuka dokumen Office (~$dokumen.docx), dan file cadangan editor. |
Hal yang perlu diperhatikan dalam praktik
- Aturan
[Ll]og/mengabaikan folderlogdi kedalaman berapa pun. Jika nama folder namespace di kode sumber adalahLog, tambahkan aturan pengecualian. packages.lock.json(file kunci NuGet) tidak diabaikan. Jika memakai mode penguncian, commit file ini.- Jika rahasia pengguna disimpan di luar proyek (profil pengguna) dengan
dotnet user-secrets, Anda tidak perlu memikirkan gitignore.
Template asli
Dotnet.gitignore
## A streamlined .gitignore for modern .NET projects## including temporary files, build results, and## files generated by popular .NET tools. If you are## developing with Visual Studio, the VS .gitignore## https://github.com/github/gitignore/blob/main/VisualStudio.gitignore## has more thorough IDE-specific entries.#### Get latest from https://github.com/github/gitignore/blob/main/Dotnet.gitignore# Build results[Dd]ebug/[Dd]ebugPublic/[Rr]elease/[Rr]eleases/x64/x86/[Ww][Ii][Nn]32/[Aa][Rr][Mm]/[Aa][Rr][Mm]64/bld/[Bb]in/[Oo]bj/[Ll]og/[Ll]ogs/# .NET Coreproject.lock.jsonproject.fragment.lock.jsonartifacts/# ASP.NET ScaffoldingScaffoldingReadMe.txt# NuGet Packages*.nupkg# NuGet Symbol Packages*.snupkg# dotenv environment variables file.env# Others~$**~CodeCoverage/# MSBuild Binary and Structured Log*.binlog# MSTest test Results[Tt]est[Rr]esult*/[Bb]uild[Ll]og.*# NUnit*.VisualState.xmlTestResult.xmlnunit-*.xml
Sumber template: github/gitignore/Dotnet.gitignore @356fd7b (2026-09-11) · CC0-1.0