.gitignore ファイルで Git 管理対象外のファイルを無視する
はじめに
Git で管理対象外のファイルがある場合に、.gitignore ファイルを作成することで、対象のファイルを無視することができます。ここでは .gitignore の書き方についてまとめていきます。
目次
環境
- OS : Windows 7 Pro 64bit
- git : git version 2.12.2.windows.1
.gitignore ファイルについて
.gitignore ファイルは各行に除外するファイルのパターンを記述します。
既に Git によって管理されているファイルは除外されません(除外するためには対象のインデックスを削除する必要があります)。
ルートフォルダおよびサブフォルダに指定することができ、上位レベルのファイルのパターンは下位レベルのファイルによって上書きされます。
次のようなフォルダ構成の場合、root
直下の .gitignore ファイルのパターンは tmp
フォルダの .gitignore ファイルのパターンによって上書きされます。
root
┣ .git
┣ public
┃ ┗ index.html
┣ tmp
┃ ┗ .gitignore
┗ .gitignore
但し、.gitignore ファイルは Git で管理されるため、ローカル環境のみで使用するファイルを除外する場合は .gitignore ファイルを使用するのではなく、.git/info/exclude ファイルにパターンを記述します。
.gitignore の書き方
.gitignore ファイルのパターンの書き方は以下の通りです。
- 空の行は一致しないため無視されます。
- # で始まる行は、コメントになります。
- パターンがスラッシュで終わる場合は、フォルダとの一致になります。
- スラッシュが含まれていない場合は、シェル glob パターンとしてマッチングされます。
- スラッシュから始まる場合は、その .gitignore ファイルからの相対パスになります。
- アスタリスクが2つ連続する場合は、特別な意味があります。
パターンの書き方の例
- test.html という名前のファイルを無視する。
.gitignore
test.html
- 拡張子が.txtのファイルを無視する。
.gitignore
*.txt
- tmpという名前のフォルダを無視する。
.gitignore
tmp/
- 拡張子が.cssのファイルを無視しない。
.gitignore
!*.css
空のフォルダを管理対象にする
Git は空のフォルダを管理対象にしないため、空のフォルダを Git に含める場合は .gitkeep ファイルをフォルダに含めます。
upload フォルダを管理対象に含める場合
root
┣ upload
┃ ┗ .gitkeep
┗ .gitignore