Git

The `.gitignore` file is a configuration file used to specify files and directories that you want to exclude from version control in a Git repository.

.gitignore

 .gitignoreファイルは、Gitリポジトリに含めたくないファイルやディレクトリを指定するためのファイルです。これにより、バージョン管理から除外することで、無駄なファイルの追跡を防ぎ、リポジトリを整理できます。

.gitignoreファイルの基本構造

 .gitignoreファイルには、無視したいファイルやディレクトリのパターンを記述します。各行に1つのパターンを書き、コメント行は # で始めます。

Plaintext

# 無視するファイルの例
*.log           # 全てのログファイル
temp/           # tempディレクトリとその中の全ての内容
*.tmp           # 拡張子が.tmpの全てのファイル
!.gitignore     # .gitignoreファイル自体は無視しない

よく使われるパターン

特定のファイル拡張子を無視する

Plaintext

# 全ての.logファイルを無視
*.log
特定のディレクトリを無視する

Plaintext

# プロジェクトルートのnode_modulesディレクトリを無視
/node_modules/
特定のファイルを無視しない

Plaintext

# 他のルールで無視される可能性のあるimportant.txtファイルは無視しない
!important.txt
ディレクトリ内の全てのファイルを無視し、特定のファイルだけ追跡する

Plaintext

dir/*
!dir/important.txt

応用例

言語やフレームワークごとの設定例

Python

Plaintext

__pycache__/
*.py[cod]
.venv/
Node.js

Plaintext

node_modules/
npm-debug.log
Java

Plaintext

*.class
*.jar
*.war
/target/

プロジェクト固有の設定例

IDEの設定ファイルを無視する

Plaintext

.vscode/
.idea/
OS特有のファイルを無視する

Plaintext

.DS_Store  # macOS
Thumbs.db  # Windows

実際の運用

新規リポジトリ作成時
プロジェクトの初期段階で .gitignoreファイルを作成し、必要な設定を追加します。
追加・修正時
プロジェクトが進むにつれて、不要なファイルが増えた場合は .gitignoreファイルを編集して新しいパターンを追加します。
既に追跡されているファイルを無視する
.gitignoreに追加しただけでは、既に追跡されているファイルは無視されません。その場合、以下のコマンドを使用してキャッシュをクリアします。

Git Bash

git rm -r --cached .
git add .
git commit -m "Update .gitignore"

 .gitignoreはプロジェクトの管理を効率的にするための重要なツールです。適切に設定することで、不要なファイルの混入を防ぎ、リポジトリをクリーンに保つことができます。