Git: バージョン管理の対象から外したいファイルを「.gitignore」に記述する
最終更新:
目次
「.gitignore」の基本
キャッシュファイルなど、バージョン管理の対象から外したいファイルは.gitignore
に記述します。
.gitignore
を設置した階層からそれ以降の階層にかけて有効になります。
(.gitignore
の記述例)
# 「.AppleDouble」フォルダを除外 .AppleDouble/ # 「.DS_Store」や「._.DS_Store」を除外 *.DS_Store # あらゆる階層の「cache」フォルダの中身だけを除外。 # 「cache」フォルダ自体は無視しない。 # 詳しくは下記のリンクを。 **/cache/* !.gitkeep
すでにGitの管理下にあるものを除外したい
すでに管理対象となっているファイルは、.gitignore
に記述しただけでは対象から外れません。
下記のようにコマンドラインでの操作が必要です。
(Git Bash)
# ファイルの場合 git rm --cached mfp.cache.js # フォルダの場合 (-r を忘れずに!) git rm --cached -r cache/ # コミットする(.gitignoreの変更をaddしてから) git add .gitignore git commit -m ".gitignore 除外指定を変更"
なお、下記のように一旦全てを対象から外した後に元に戻すという方法なら、個別に除外する必要はありません。
履歴は個別指定の場合と同じになるので、こちらの方がお手軽でおすすめです。
# 一旦全てを対象から外す git rm --cached -r . # あらためて、全てを対象に含める # (.gitignoreに記述されたものは除外される) git add -A . # コミットする git commit -m ".gitignore 除外指定を変更"
除外指定に該当するものを確認する
除外のパターンは記述したものの、実際のところどれが除外されているのかを確認したい場合。
git ls-files --others --ignored --exclude-standard # 短縮形 git ls-files -oi --exclude-standard
上のコマンドは動画の中で解説されています。
日本語字幕もついていて、とても分かりやすいのでおすすめです。