github/gitignore · Dotnet.gitignore

Template .gitignore do .NET explicado

Explica por que o Dotnet.gitignore ignora bin e obj, Debug e Release, pacotes NuGet, logs binários do MSBuild, resultados de testes e .env, e como ele difere do template VisualStudio.

Abrir no gerador Abrir junto com VisualStudio, VisualStudioCode, JetBrains, Windows

O Dotnet.gitignore é um template conciso para projetos no estilo SDK do .NET (projetos C# e F# criados com dotnet new). Como informa o comentário de cabeçalho do template, se você usa o Visual Studio, é bom usar também o template VisualStudio, que tem muito mais regras relacionadas à IDE.

Se você desenvolve com VS Code, Rider ou pela linha de comando, só este template já bloqueia a maior parte dos resultados de build e dos subprodutos de ferramentas.

Explicação regra por regra

PadrãoO que ignora e por quê
[Bb]in/[Oo]bj/[Dd]ebug/[Rr]elease/x64/x86/bld/Saída de buildSão os assemblies e arquivos intermediários (obj/project.assets.json etc.) gerados pelo dotnet build. Os colchetes pegam diferenças de maiúsculas como Bin e bin.
artifacts/project.lock.jsonproject.fragment.lock.jsonArtefatos do .NETartifacts/ é a pasta do layout de saída unificado disponível a partir do .NET 8, e project.lock.json é o resultado de restauração da antiga época do project.json.
*.nupkg*.snupkgPacotes NuGetSão os pacotes e pacotes de símbolos criados com dotnet pack. São artefatos publicados em um feed do NuGet.
*.binlog[Tt]est[Rr]esult*/[Bb]uild[Ll]og.*TestResult.xmlnunit-*.xmlCodeCoverage/Logs e resultados de testesSão os logs binários do MSBuild (opção -bl) e os resultados de testes e cobertura. Os logs binários podem conter valores sensíveis, como variáveis de ambiente, então é preciso cuidado ao compartilhá-los.
.env~$**~Arquivos de ambiente e temporáriosSão o arquivo de variáveis de ambiente, o arquivo de lock que surge ao abrir documentos do Office (~$documento.docx) e os arquivos de backup do editor.

Cuidados na prática

Template original

Dotnet.gitignore30 linhas de regras
## 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

Origem dos templates: github/gitignore/Dotnet.gitignore @356fd7b (2026-09-11) · CC0-1.0

Templates usados em conjunto

Outros templates explicados