.gitignoreの考え方:秘密情報を載せないために

入門 | 9分 で読める | 2026.06.18

公式ドキュメント

Gitでは、すべてのファイルを履歴に入れるべきではありません。秘密情報、依存フォルダ、ビルド成果物、ログなどは、通常Git管理から外します。そのために使うのが .gitignore です。

一言でいうと

.gitignoreは、Gitに管理させたくないファイルやフォルダを指定するための設定ファイルです。

無視する代表例

種類
秘密情報.env, .env.local
依存フォルダnode_modules/
ビルド成果物dist/, build/
ログ*.log
OS固有ファイル.DS_Store
エディタ設定チーム方針による

基本例

.env
.env.local
node_modules/
dist/
build/
*.log
.DS_Store

.gitignore は、プロジェクトルートに置くことが多いです。

なぜ.envを入れるのか

.env には、APIキー、DB接続情報、アクセストークンなどが入ることがあります。

API_KEY=example
DATABASE_URL=example

これを公開リポジトリへpushすると危険です。

.envは便利ですが、GitHubにpushしたら秘密情報ではなくなります。

すでにcommitしたファイルはどうなるか

.gitignore は、これから追加される未追跡ファイルを無視する設定です。すでにGit管理されているファイルは、.gitignore に書いても自動では外れません。

管理対象から外すには、次のようにします。

git rm --cached .env

その後、.gitignore.env が入っていることを確認してcommitします。

git add .gitignore
git commit -m "chore: ignore environment files"

ただし、すでに秘密情報をpushした場合は、ファイル削除だけでは不十分です。キーの無効化と再発行を検討します。

チームで共有する例

.env は共有しませんが、必要な変数名は .env.example で共有できます。

API_KEY=
DATABASE_URL=

.env.example には本物の値を入れません。

よくある誤解

誤解実際
.gitignore に書けば過去の履歴から消える消えません
.env はローカルだから安全pushしたら公開される場合があります
node_modules もcommitすべき通常はpackage.jsonから復元します
.env.example に本物の値を書くダミー値や空欄にします

まとめ

.gitignore は、Gitに管理させたくないファイルやフォルダを指定する設定です。.env、依存フォルダ、ビルド成果物、ログなどを除外します。すでにcommit済みのファイルは .gitignore だけでは外れないため、git rm --cached などで管理対象から外します。秘密情報をpushした場合は、削除ではなく無効化と再発行が必要です。

参考リソース

← 一覧に戻る
PR
PR
PR
PR