どうも、Tommy(@SitommyBlog)です。
今回は、gitignoreの設定方法と、除外設定したのにも関わらず反映されないときの解決法をお伝えしていきます。
設定方法については、私自身が設定している方法になります。
いろいろ書き方はあるかと思いますが、ご了承いただければと思います。
gitignoreの設定方法
初めに、『gitignore = ギットイグノワァー』と言います。
大半の方は、理解しているかと思いますが一応説明させていただきました。
gitignoreって何?!
gitignoreとは、Gitリポジトリ(Git管理)上で、意図的に追跡対象から外すためのファイルを設定するものなんじゃ!
全てのファイルをGitの追跡対象にしてしまうと、制作時にトラブルが起きてしまうケースがあります。
その為に、gitignoreファイルを設定する必要があります。
コメントアウトする場合
# コメントアウトです。
特定の拡張子を無視する場合
# 拡張子がhtmlとなっている全てが無視される
*.html
# aboutフォルダー内の拡張子がhtmlとなっているものが無視される
about/*.html
特定のファイルを無視する場合
about.html
特定のディレクトリーを無視する場合
末尾に「/」をつける
about/
git管理対象にする場合
# 最初に「!」をつける
!about.html
ルート設定も可能
# 最初に「/」をつける
/about/
上記のルート設定は、『gitignoreファイル』が置かれている場所とします。
gitignoreに除外設定したのに反映されない解決法
どうして、設定したのに反映されないの?!
それはじゃな!
一度Gitにアップしてしまったものを、追加でgitignoreに記述をしてもキャッシュにインデックスが残っている為、反映されないという原因なんじゃよ。
キャッシュを切るコマンドはこちらです。
$ git rm --cached `git ls-files --full-name -i --exclude-from=.gitignore`
コマンドを打ち問題なくgitignoreに設定したファイル等が無視できていれば成功です。
ただ、稀にエラーが表示されるケースがあります。
その原因も説明しておきます。
その原因としては、(Macの場合になってしましますが)『High Sierra』から『Mojave』にアップデートした際に『Xcord』が消えてしまう現象があるらしいです。
なので、今一度『Xcord』をインストールしておきましょう。
インストールできたら、改めて上記のコマンドを叩いてください。
まとめ
私も実際、gitignoreの反映されないと嘆いていた際にたくさん調べましたが、コマンドの記述や原因は説明されているサイトはありましたが、その通りにやってもエラーが出てキャッシュが切れないという現象に陥っておりました。
そのエラーコードをまるまる検索かけた際に『Xcord』をインストールしてくださいっと出ていることに気づきました。
もし、検索してその通りにそってやっていても、人それぞれ環境が違うためエラーが出る方もいるかと思います。
その際は、エラーコードをそのまま検索にかけてみたり、英訳にかけてみたりしてもいいかと思います。