はじめに
gitを使う上で割と大事な.gitignoreについての覚書です。
.gitignoreとは
.gitignore
は、ローカルのディレクトリには含まれているが、Gitのリポジトリに複みたくないファイルやディレクトリを指定するためのファイルです。
これを適切に設定することによって、以下のようなファイルをリポジトリに含める必要がなくなり、何かと便利です。
-
.env
ファイルなど、トークンやAPIキー、パスワードなどの機密情報を含むファイル - ローカルで生成されるキャッシュファイルやログファイル
- メモなど、開発者個人の作業ファイル
- 開発中のため、まだリポジトリに上げるべきではないファイル
書き方
.gitignore
は、リポジトリのルートディレクトリに配置します。この名前でファイルを作成し、以下のように無視したいファイルやディレクトリを記述します。
コメント
#
で始まる行はコメントとして扱われます。
# これはコメントです
ファイル
無視したいファイル名を指定します。.gitignore
の場所からの相対パスで指定します。
# .envファイルを無視
.env
# /bots/test.pyを無視
/bots/test.py
ディレクトリ
ディレクトリを指定する場合は、/
で終わるようにします。これも同様に.gitignore
の場所からの相対パスで指定します。
# cacheディレクトリを無視
cache/
/bots/cache/
ワイルドカード
*
などのワイルドカードを使うことができます。
# .txtファイルを無視
*.txt
# test_から始まるファイルを無視
test_*
以下のような応用があります。
全ディレクトリ内の特定ファイルの無視
# 全ディレクトリ内の.logファイルを無視
**/*.log
全ディレクトリ内の特定ディレクトリの無視
# 全ディレクトリ内のcacheディレクトリを無視
**/cache/**
特定のパターンを無視しない
!
を使うことで、特定のパターンを無視しないようにすることができます。
# tempディレクトリの中のmain.pyファイルは無視しない
!/temp/main.py
注意
元々リモートリポジトリに上がっているファイルを.gitignore
に追加しても、リモートリポジトリには影響しません。.gitignore
に追加したファイルは、新たに追加されるファイルに対してのみ有効です。
そういう時は、一回リモートリポジトリから削除してから、.gitignore
に無視したいファイル名を追加し、再度プッシュしてください。
まとめ
.gitignore
を適切に使うことで、よりよいGitライフを送りましょう。