github/gitignore · Dotnet.gitignore

Разбор шаблона .gitignore для .NET

Почему Dotnet.gitignore игнорирует bin и obj, Debug и Release, пакеты NuGet, бинарные журналы MSBuild, результаты тестов и .env, и чем он отличается от шаблона VisualStudio.

Открыть в генераторе Открыть вместе с VisualStudio, VisualStudioCode, JetBrains, Windows

Dotnet.gitignore — компактный шаблон для проектов в стиле .NET SDK (проектов C# и F#, созданных через dotnet new). Как сказано в заголовочном комментарии шаблона, если вы работаете в Visual Studio, лучше использовать вместе с ним шаблон VisualStudio, где правил для IDE гораздо больше.

Если вы разрабатываете в VS Code, Rider или в командной строке, одного этого шаблона хватит, чтобы заблокировать большую часть результатов сборки и побочных файлов инструментов.

Разбор правил

ШаблонЧто и почему игнорируется
[Bb]in/[Oo]bj/[Dd]ebug/[Rr]elease/x64/x86/bld/Результаты сборкиСборки и промежуточные файлы (obj/project.assets.json и др.), которые создаёт dotnet build. Скобки охватывают различия в регистре, например Bin и bin.
artifacts/project.lock.jsonproject.fragment.lock.jsonАртефакты .NETartifacts/ — папка единой схемы вывода, доступной начиная с .NET 8, а project.lock.json — результат восстановления времён старого project.json.
*.nupkg*.snupkgПакеты NuGetПакеты и пакеты символов, созданные dotnet pack. Это артефакты для публикации в ленте NuGet.
*.binlog[Tt]est[Rr]esult*/[Bb]uild[Ll]og.*TestResult.xmlnunit-*.xmlCodeCoverage/Логи и результаты тестовБинарные журналы MSBuild (параметр -bl), результаты тестов и покрытия. В бинарный журнал могут попасть чувствительные значения, например переменные окружения, так что делитесь им осторожно.
.env~$**~Окружение и временные файлыФайлы переменных окружения, файлы блокировки, появляющиеся при открытии документов Office (~$документ.docx), и резервные файлы редакторов.

На что обратить внимание на практике

Исходный шаблон

Dotnet.gitignoreСтрок правил: 30
## 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

Источник шаблонов: github/gitignore/Dotnet.gitignore @356fd7b (2026-09-11) · CC0-1.0

Шаблоны, используемые вместе

Разборы других шаблонов