さあ、未来へ旅立とう

日々のこと、チーム紹介

  • 29 Nov. 2019

    git ホワイトリストの作り方 – gitignoreの逆が書きたい!!

    CATEGORYBlog TAG

    gitignoreのあれ

    gitignoreのあの逆を書きたいんだよね!

    (いや意味わからん)

    と思った人。僕も自分で言っておいて何を言っているかわかりませんでした。

    つまり

    index.html
    style.css
    script.js

    の3つのファイルがあってgitignoreならstyle.cssだけをignoreできるんです。

    でも逆にstyle.css以外をignoreしたいってなった時は今回であればindex.html、script.jsの2つをignoreしますよね?

    3つのファイルならいいんですけどこれが100個あったら死ぬほど面倒じゃないですか?ignoreの逆書きたい!ってなりますよね。

    今回の事例としてはwordpressの構築をしているときに遭遇しました。

    いつもならthemesの中の自作テーマの中にgit入れればいい感じでした。それ以外ほとんど触りませんしね。バージョン管理する必要がありません。

    が、今回ルートフォルダにwpというフォルダがあり、その中にwordrpressが入っていました。

    そしてその階層にcss,jsが置いてあったのです。(自分で置いたのではありません。)

    図にすると

    root/wp/wpの中身
    root/js
    root/css

    です。この階層にgitを置くとwordpressのシステム全部プッシュすることになり、コミットの数が多くなって管理も大変ですし、確実にスマートではありません。

    ググると

    gitホワイトリストという書き方がありました。これを使うと自分がやりたかったことを実現できます。

    # すべてをignore
    *
    */
    # すべてのディレクトリをホワイトリストに追加する
    !*/
    # ホワイトリストに入れたいファイルを戸別に許可する
    !.gitignore
    !css/*
    !img/*
    !js/*
    !/wp/wp-content/themes/テーマの名前/*
    

    こんな感じです。

    ・まず全部のファイルとフォルダをignoreして
    ・全てのディレクトリをホワイトリストに入れる
    ・個別にホワイトリストに入れたいファイルをかく
    ・同階層にないけどホワイトリストに入れたいファイルorフォルダは一番下のように書けます。

    終わり

    知ってそうで知らなかった知識。

    ああ。なんかそんなことを話している記事あったな。どこの会社だっけな?レベルで覚えておいてください。マーベリックスです。高品質なデザイン&コーディングを行う湘南にあるクールなweb制作会社です。

    女性だらけのハーレムを探し、たどり着いたここ湘南!常に調味料を切らし、今日は貴女の部屋へ!毎日コーフンして寝不足気味の強者ジプシー。