.gitignore に含めるべきファイル、含めるの
更新日:2025/01/13

Git のリポジトリを作成する際、.gitignore
ファイルを適切に設定することは非常に重要です。誤って機密情報や不要なファイルをリポジトリに含めないために、以下のようなファイルやディレクトリを .gitignore
に記述するのが一般的です。
gitignore に含めるべき内容
1. 機密情報関連
プロジェクトで利用する API キーやデータベースの接続情報などが記載されたファイルは必ず .gitignore
に含めるべきです。
.env
*.env.local
(例えば
development.env.localや
testing.env.local` など)config/secret.yaml
これらのファイルを誤って公開すると、第三者に機密情報を悪用されるリスクがあります。
サンプルファイルを用意するのが一般的
.env.example
のように、必要な設定項目を記載したサンプルファイルを用意し、環境ごとの.env
ファイルは.gitignore
に含めるのが一般的です。
# APIキー
API_KEY=your_api_key_here
# データベース接続情報
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password_here
# デバッグ設定
DEBUG=true
2. ビルドやキャッシュ関連
ビルドプロセスで生成されるファイルやキャッシュデータは、リポジトリには不要です。これらは開発環境ごとに異なる場合が多く、不要な差分が生じる原因になります。
node_modules/
(npm や Yarn の依存関係)dist/
(ビルド成果物).next/
(Next.js のビルドキャッシュ)target/
(Java や Scala のビルド成果物).cache/
(ビルドキャッシュ)
package-lock.json
を .gitignore
に含めるかどうか
含めるべき場合 | ・依存関係の固定が必要な場合 ・npm 公式では、 package-lock.json をリポジトリに含めることが推奨されています。 |
含めないべき場合 | ・動的な依存関係管理が必要な場合 |
3. OS 特有のファイル
開発環境の OS によって自動生成されるファイルもリポジトリには不要です。
.DS_Store
(macOS)Thumbs.db
(Windows)ehthumbs.db
(Windows).Spotlight-V100/
(macOS)
4. IDE やエディタ関連
開発環境で使用する IDE やテキストエディタが生成する設定ファイルやキャッシュファイルも、通常はリポジトリに含めません。
.vscode/
(VSCode のワークスペース設定).idea/
(IntelliJ IDEA)*.iml
*.swp
(Vim).history/
(一部エディタの履歴ファイル)
5. テストやログ関連
テスト実行中に生成されるファイルやログファイルもリポジトリには不要です。
coverage/
(コードカバレッジデータ)*.log
(ログファイル)test-output/
6. プラットフォーム固有のファイル
特定のプラットフォームやサービスと連携している場合、関連する設定ファイルを .gitignore
に含めることがあります。
.env.production
(サーバー環境で使用する環境ファイル)terraform.tfstate
(Terraform の状態ファイル).dockerignore
(Docker 用の無視リスト)
7. サンプル .gitignore
ファイル
以下は一般的な .gitignore
ファイルの例です:
# 依存関係のディレクトリ
node_modules/
# 環境変数ファイル
.env
.env.local
# IDE設定
.vscode/
# アップロードされたファイル
uploads/
# ログファイル
*.log
# macOSのシステムファイル
.DS_Store
# 環境変数
.env
*.env.local
# Node.js 関連
node_modules/
dist/
# macOS
.DS_Store
# Windows
Thumbs.db
# VSCode
.vscode/
# Logs
*.log
# Coverage
coverage/
# ビルド成果物
build/
# IDE/エディタ関連
.idea/
*.swp
git status で正しく設定されているか確認
git status
git status
.gitignoreに記載されているファイル git status
では一切表示されない
誤って不要なファイルをコミットしないよう、git status
や git diff
を活用して確認しましょう。
リポジトリの再初期化
.gitignoreの設定を後から変更した場合、特に以下のような状況で再初期化は有効
- セキュリティ上の懸念
- 環境変数ファイル(.env)が誤ってコミット履歴に残っている
- APIキーなどの機密情報が含まれている可能性がある
- 設定の確実性
- .gitignoreの設定が正しく機能しているか不安
- 既に追跡されているファイルを確実に除外したい
- クリーンな状態の確保
- 不要なファイルの追跡を完全に防ぎたい
- コミット履歴を整理したい
# 隠しファイルも含めて表示
ls -Force
# 隠しファイルも含めて削除
Remove-Item .git -Recurse -Force
> ls -Force
Mode LastWriteTime Length Name
---- ------------- ------ ----
d--h-- 2025/01/13 10:35 .git
d----- 2025/01/02 18:50 node_modules
d----- 2025/01/01 16:24 src
-a---- 2025/01/01 16:27 243 .env
-a---- 2025/01/13 10:26 254 .env.sample
-a---- 2025/01/13 10:11 258 .gitignore
-a---- 2025/01/01 18:42 928 docker-compose.yml
-a---- 2025/01/02 19:25 718 Dockerfile
-a---- 2025/01/02 18:50 104009 package-lock.json
-a---- 2025/01/02 18:50 384 package.json
> Remove-Item .git -Recurse -Force
> ls -Force
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2025/01/02 18:50 node_modules
d----- 2025/01/01 16:24 src
-a---- 2025/01/01 16:27 243 .env
-a---- 2025/01/13 10:26 254 .env.sample
-a---- 2025/01/13 10:11 258 .gitignore
-a---- 2025/01/01 18:42 928 docker-compose.yml
-a---- 2025/01/02 19:25 718 Dockerfile
-a---- 2025/01/02 18:50 104009 package-lock.json
-a---- 2025/01/02 18:50 384 package.json

-
検索
(例) debug search etc.. -
カテゴリー
-
Windows↔️Macで文字化けしたZIPファイルを解決する方法【7-Zip活用ガイド】
更新日:2025/02/18
-
本番環境 / ステージング環境 でのGitブランチ切り替え方法と注意点 Note: witching to ‘origin/new_feature’. You are in ‘detached HEAD’ state…
更新日:2025/02/16
-
複数のWordPressサイトをまとめて検索・管理するには?
更新日:2025/02/16
-
【WordPress】SVGを投稿記事のサムネイルに!自作プラグイン(未実装🤷♂️)「nonce(ナンス)トークン」wp_postmetaテーブルを利用
更新日:2025/02/14
-
【WordPress】カスタムフィールド作成の仕方「ACF」Advanced Custom Fieldsの使用法
更新日:2024/06/10
298 view
-
mixhostでのWordPress利用について
更新日:2024/04/02
295 view
-
scrollHint
更新日:2024/03/13
246 view
-
LOLIPOPでWordPressインストール(サブディレクトリにインストールしたWordPressをドメイン直下で表示)
更新日:2024/06/13
235 view
-
XML Sitemap Generator for Google不具合のダウングレード対応、代替プラグイン
更新日:2024/06/13
234 view
-
Sass導入方法
更新日:2024/03/13
206 view
-
【SnowMonkey】納品までのフローまとめ
更新日:2025/02/15
163 view
-
【Snow Monkey】Googleサーチコンソール登録
更新日:2024/05/28
157 view
-
ワードプレスでフォントを変えたいとき、プラグインを使えば初心者でも簡単
更新日:2025/02/16
144 view
-
【Googleサーチコンソール】検索画面で表示させたくない「Googleのインデックス削除」
更新日:2024/06/07
129 view
-
【ショートコード】編集画面で任意の場所にHTMLファイルを挿入
更新日:2024/01/26
122 view
-
tailwindcss使い方
更新日:2024/03/13
119 view
-
キーワード検索で上位表示させる方法【SEO】
更新日:2023/10/28
119 view
-
Recline: GitHub Copilotで動作するClaude 3.5 Sonnet搭載の開発支援ツール
更新日:2025/01/20
105 view
-
WordPressプラグイン「All-in-One WP Migration」のトラブル
更新日:2022/03/31
83 view
-
【2022年】WordPressセキュリティー対策おすすめプラグイン2選
更新日:2022/02/21
70 view
-
【必須】ワードプレスセキュリティー対策まとめ【2022年】
更新日:2025/02/16
69 view
-
「THE THOR」を半年使ってみて、レビュー【メリット・デメリット】
更新日:2025/02/16
45 view
-
SSHを使用してGitHubのリポジトリをクローン、複数の接続元で公開鍵をディレクトリで区別する方法
更新日:2025/01/13
43 view
-
VSCodeで開発効率を劇的に向上させる!Roo-Clineプラグイン完全ガイド【Gemini API】
更新日:2025/02/08
41 view
-
「JSONスキーマ」と「Few-shot Learning」で実現する次世代生成AIソフトウェア開発の可能性
更新日:2025/02/12
40 view
-
THE THOR(ザ・トール)でグーグルアドセンスを使う
更新日:2025/02/16
39 view
-
WordPressの無料画像素材のおすすめダウンロードサイト!
更新日:2022/02/22
35 view
-
リファクタリング【VSCode Javasctipt Python】
更新日:2025/02/06
34 view
-
形態素解析とは?初心者でもわかるツールの使い方と実践例
更新日:2025/02/08
33 view
-
【Next.js AWS】音声文字起こし&要約、分析アプリケーション(S3)(Transcribe)(Amazon Bedrock)
更新日:2025/02/13
28 view
-
VSCodeプラグイン「 Pretter – Code formatter」「PHP Intelephense 」
更新日:2025/01/06
26 view
-
【CSS JavaScript サンプルコード】アコーディオン 続きを読む(Read more)Toggle 折りたたみコンテンツ
更新日:2025/02/05
23 view
-
【WordPress】SVGを投稿記事のサムネイルに!自作プラグイン(未実装🤷♂️)「nonce(ナンス)トークン」wp_postmetaテーブルを利用
更新日:2025/02/16
22 view
-
【WordPressプラグイン】人気記事 管理 WordPress Popular Posts 実践的なカスタマイズ
更新日:2025/02/15
22 view
-
Googleアドセンスとは?〜前編〜
更新日:2025/02/16
22 view
-
【WordPress】プラグイン不使用でカスタムタクソノミーを設定、絞り込み検索について
更新日:2025/01/26
18 view
-
スマートフォンファーストのWeb開発実践ガイド
更新日:2025/01/23
16 view
-
WordPressでカスタムフィールドを使った記事のスコアリングシステムの実装
更新日:2025/01/27
15 view
-
AWSのOCRサービス完全ガイド:Textract、Rekognition、Comprehendの使い分け
更新日:2025/02/09
14 view