導入
プロジェクトには「履歴に残したくないファイル」があります。ビルド生成物、ログ、パスワードを含む設定ファイル、node_modules のような巨大な依存フォルダなどです。これらを Git に無視させる仕組みが .gitignore です。
説明
.gitignore という名前のファイルを作り、無視したいパターンを1行ずつ書きます。
git init
echo "secret.txt" > .gitignore
echo "*.log" >> .gitignore
これで secret.txt という名前のファイルと、拡張子 .log のファイルはすべて追跡対象から外れます。試しに無視されるファイルを作って git status を見てみましょう。
echo "パスワード" > secret.txt
echo "ログ" > debug.log
git status
secret.txt と debug.log は Untracked files に現れません。Git が「無視するように言われた」からです。一方 .gitignore 自体はコミット対象にします(チーム全員で同じ無視ルールを共有するため)。
代表的な書き方:
| 書き方 | 意味 |
|---|---|
secret.txt | その名前のファイルを無視 |
*.log | 拡張子 .log のファイルをすべて無視 |
build/ | build フォルダ以下をすべて無視 |
やってみよう
.gitignore に *.log を書いてから debug.log を作り、git status に出てこないことを確認しましょう。無視をやめれば(.gitignore から行を消せば)また現れます。
演習
*.log を無視する .gitignore を作ってください。
ヒント1を見る
.gitignore に *.log と書きます。echo "*.log" > .gitignore