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