github/gitignore · Global/Windows.gitignore
Windows .gitignore テンプレート解説
Windows.gitignore が Thumbs.db、desktop.ini、$RECYCLE.BIN、インストーラーパッケージ、ショートカットファイルを無視する理由と、大文字・小文字やグローバル設定の注意点を説明します。
Windows.gitignore は Windows エクスプローラーとシェルがフォルダーに作るファイル、そしてインストーラーパッケージの形式を防ぐ。13 行ほどと短く、macOS テンプレートと同様に個人のグローバル gitignore に置くのに適したテンプレートである。
Windows のファイルシステムは大文字と小文字を区別しないが、git は既定でパターンを大文字・小文字を区別して比較する。そのため [Dd]esktop.ini のように両方の表記を書いたルールがある。
ルール別の解説
| パターン | 何を、なぜ無視するか |
|---|---|
Thumbs.dbThumbs.db:encryptableehthumbs.dbehthumbs_vista.db | サムネイルキャッシュエクスプローラーが画像フォルダーに作っていたサムネイルキャッシュである。Vista 以降は集中キャッシュを使うが、ネットワークドライブや古い設定では今も作られる。 |
[Dd]esktop.ini | フォルダー設定フォルダーのアイコンや表示名のようなカスタマイズ情報を入れる隠しシステムファイルである。 |
$RECYCLE.BIN/ | ごみ箱リムーバブルドライブやボリュームのルートに作られるごみ箱フォルダーである。リポジトリをドライブのルートに作ったときに一致する。 |
*.cab*.msi*.msix*.msm*.msp | インストーラーパッケージWindows Installer パッケージ、マージモジュール、パッチ、キャビネット圧縮ファイルである。ビルド結果や配布ファイルとして扱う。 |
*.lnk*.stackdump | ショートカット・ダンプ個人のショートカットファイルと、Cygwin・MSYS のプログラムが異常終了したときに残すダンプである。 |
実務での注意点
core.ignorecaseは、Windows・macOS でリポジトリを作ると通常trueに設定される。この場合は大文字・小文字に関係なく一致するが、Linux の CI では区別されるため、ブラケット表記が安全である。パターンテスターで core.ignorecase オプションをオン・オフして比較できる。- インストーラーファイルをどうしてもリポジトリに入れる必要がある場合(例: ドライバー配布用のリポジトリ)は、
*.msiの行を削除するか!installers/*.msiで例外を設ける。 - Visual Studio 関連のファイルは VisualStudio テンプレートが扱う。
元のテンプレート
Windows.gitignore
# Windows thumbnail cache filesThumbs.dbThumbs.db:encryptableehthumbs.dbehthumbs_vista.db# Dump file*.stackdump# Folder config file[Dd]esktop.ini# Recycle Bin used on file shares$RECYCLE.BIN/# Windows Installer files*.cab*.msi*.msix*.msm*.msp# Windows shortcuts*.lnk
テンプレートの出典: github/gitignore/Global/Windows.gitignore @356fd7b (2026-09-11) · CC0-1.0