プロジェクトはよく git に追跡してほしく'ない'ファイルを生成します。
典型的なものとしては、ビルドプロセッサーが生成するファイルや、
エディタが生成するバックアップファイルなどです。もちろん、
git が追跡しないファイルに対して git add`をしなければ良いだけの問題です。
しかし、これら追跡しないファイルがいることでイライラさせられることがあります;
例えば、それらファイルに対しての `git add .
は実際に不要であるにも、
関わらず、 git status
の出力でそれらが表示されてしまいます。
作業ディレクトリのトップレベルに .gitignore という名前のファイルを作成することで、 無視するファイルを git に伝えることができます。
# '#' で始まる行は無視されます
# foo.txt という名前の全てのファイルを無視する
foo.txt
# (生成された) html ファイルは無視する
*.html
# foo.html は例外とし、手でメンテナンスします
!foo.html
# object と archive ファイルは無視する
*.[oa]
記述形式の詳細は gitignore(5) を参照してください。
作業ツリーの他のディレクトリに .gitignore を置くこともできます。
その場合、そのディレクトリとサブディレクトリに適用されます。
.gitignore
ファイルは他のファイルと同様、リポジトリに追加することができます
(通常と同じで git add .gitignore
と git commit
を実行するだけです)。
(ビルド時の出力ファイルに一致するパターンのような) 除外パターンを
git で管理することは、
あなたのリポジトリを複製する他のユーザにとっても便利なことです。
(プロジェクトの全てのリポジトリの代わりに)ある特定のリポジトリでだけ
除外パターンを適用したい場合は、リポジトリ内の .git/info/exclude という場所に
それらを置くか、コンフィグレーション変数 core.excludesfile
によって
指定することができます。git コマンドによってはコマンドラインで除外するパターンを
直接指定することもできます。
詳細は gitignore(5) を参照してください。