【Git】.gitignoreが反映されない時の対応備忘録

#Git
written by ま。

Git管理下に置きたくないファイルを指定しておける.gitignore。
たまに記載すると、あれ?反映されないな?となって都度調べているので備忘録として残しておきます。

.gitignoreが反映されない時

先に結論から。
反映されない大方の原因は、

既にコミットされたことがあるファイルが対象だからです。

もう少し正確にいうとキャッシュにインデックスのあるファイルだからです。
ということでキャッシュを削除しましょう。

$ git rm -r --cached . //全体キャッシュ削除 
$ git rm -r --cached [ファイル名] //ファイル指定してキャッシュ削除

これでファイルが管理対象外になるはずです!

キャッシュ以外の可能性としては、.gitignoreの記述ミスかと思いますので見直してみてください。

git status --ignored

とコマンドを実行すると、git管理対象外になっているファイルの一覧が見れますので、
記述しているのに対象になってないファイルがあればそこの記述を見直すことができます!

.gitignoreとは

一応.gitignoreの説明も書き残しておきます。

.gitignoreとはGitで管理したくないファイルを指定するものです。
よくあるのは本番環境と開発環境で値が変わる環境変数を持ったファイルですね。(.envなど)

やり方は簡単です。

まずは「.gitignore」という名前でプロジェクトルートにファイルを作成します。

続いて内容の書き方です。

# #で始まる行はコメント

# 特定の拡張子ファイルを管理外にする
*.exe

# 指定のフォルダ配下を全て管理外にする
public/

# 他の指定で管理外に置かれてしまうが、実際は必用なファイルは指定できる
# この場合、上で指定した拡張子/publicフォルダ配下で引っかかるが、!以降の指定で特定のファイルを管理するように指定している
!/public/sample.exe

# フォルダの特定のファイルを管理外にする
package/**/*.js

あとはこれをgitにコミットして完了です!

先に書きましたが、既にコミットしたことのあるファイルを後から管理外にするにはキャッシュを削除しましょう。

おわりに

permission deniedに続き、私の対応備忘録シリーズとして記事を書いてみました。

【パーミッション】permission deniedの対応備忘録

パーミッションの記事も個人的に割と見返すことの多くて備忘録として役立っているので
このシリーズ充実させていこうと思います!

ありがとうございました!