github/gitignore · Dotnet.gitignore

.NET .gitignore テンプレート解説

Dotnet.gitignore が bin・obj、Debug・Release、NuGet パッケージ、MSBuild のバイナリログ、テスト結果、.env を無視する理由と、VisualStudio テンプレートとの違いを説明します。

ジェネレーターで開く VisualStudio, VisualStudioCode, JetBrains, Windows と一緒に開く

Dotnet.gitignore は .NET SDK スタイルのプロジェクト(dotnet new で作った C#・F# プロジェクト)向けの簡潔なテンプレートである。テンプレート冒頭のコメントが述べるとおり、Visual Studio を使うなら IDE 関連のルールがはるかに多い VisualStudio テンプレートを併用するとよい。

VS Code、Rider、コマンドラインで開発するなら、このテンプレートだけでビルド結果とツールの副産物のほとんどを防げる。

ルール別の解説

パターン何を、なぜ無視するか
[Bb]in/[Oo]bj/[Dd]ebug/[Rr]elease/x64/x86/bld/ビルド出力dotnet build が作るアセンブリと中間ファイル(obj/project.assets.json など)である。ブラケットで Binbin のような大文字・小文字の違いをすべて捉える。
artifacts/project.lock.jsonproject.fragment.lock.json.NET の成果物artifacts/ は .NET 8 から使える統合出力レイアウトのフォルダーで、project.lock.json は古い project.json 時代の復元結果である。
*.nupkg*.snupkgNuGet パッケージ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

一緒に使うテンプレート

ほかのテンプレートの解説