プログラミング

gitignore を使ってファイルを Git の管理対象から外す方法

今日も今日とて

日々の業務で Git は欠かせないツールの1つですが、

Git でソースを管理している場合、このファイルは変更を追っかけないで欲しいな〜、このファイルは Git の管理対象から外したいな〜

ってなること多いと思うんですが、

そういう時にいつもやり方を忘れるので…自分用のメモという意味合いも込めて今回は、

gitignore を使ってファイルを Git の管理対象から外す方法

という内容を中心に書いていきたいと思います。

前回記事はこちらから↓

まず gitignore の仕様を確認する

基本的には、 gitignore ファイルの中に Git の管理対象から外したいファイル名を記載すれば、それらは Git の管理対象には含まれません。

が!!

既にそのファイルをインデックスに登録( git add )していたり、過去にコミット履歴がある場合は、ignore してくれません。

なので最初に環境構築する際に無視したいファイルを gitignore に書いておくのが一番良いのですが、

途中で「あ〜これも外したいやつ…」ってなることはあるあるだと思いますので、そういった時の対処法を下記に記載します。

gitignore を使ってファイルを Git の管理対象から外す方法

ファイルを管理対象から外したい場合

下記は index.php を削除する場合の例です。

$ git rm –cached index.php

フォルダごと管理対象から外したい場合

下記は public フォルダ以下のファイルを全て管理対象から外す場合の例です。上記に -r オプションを付けます。

$ git rm -r –cached /public/

これでファイルが git の管理対象から外れたので、あとは変更を commit 、push すれば完了。

$ git add .

$ git commit -m “add files to gitignore”

$ git push origin xxx // xxx はリモートのブッシュ先

gitignore ファイルの書き方

上記のようにならないように、Git の管理対象から外したいファイルは、リポジトリ作成時やクローン時に設定するのが一番良いと思います。

その際の書き方をいくつか記載します。

gitignore ファイル内では、「 * 」や「 ? 」などのワイルドカードが使えます。「 * 」は任意の長さの文字、「 ? 」任意の1文字、を表しています。

詳しくはこちらから↓

上記を踏まえて書き方の例をいくつか挙げてみます。下記では、フォルダ名は例として public としています。

#拡張子が php のファイル全て

*.php


# public フォルダ以下全て

/public/


#public フォルダ以下の全ての js ファイル

/public/*.js


# sample の語尾に任意の一文字が含まれる js ファイル全て

sample?.js


「 * 」はよく見かけるんですけど、「 ? 」は正直見たことないな…けど調べてるうちに出てきたので、書いておきます。

未来の自分がもしかしたら使うかも…?

まとめ

いかがだったでしょうか。

今回は、gitignore を使ってファイルを Git の管理対象から外す方法をまとめてみました。

さて、ちゃんとまとめたから次回は忘れないぞーー

あとどうでもいいけど今回の記事のアイキャッチの Git のロゴは canva の素材で自作したんですが(どんだけ暇なの)、canva 便利なんですけどやっぱり色々制約あって自由に作れないので、Photoshop 有料に変えようかな〜〜と思っています ^^;

ここまでお読みいただき、ありがとうございました!