18
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

gitignoreのホワイトリストの書き方

Posted at

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ホワイトリストという書き方がありました。これを使うと自分がやりたかったことを実現できます。

[code]

すべてをignore

*/

すべてのディレクトリをホワイトリストに追加する

!*/

ホワイトリストに入れたいファイルを戸別に許可する

!.gitignore
!css/*
!img/*
!js/*
!/wp/wp-content/themes/テーマの名前/*
[/code]

こんな感じです。

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

終わり

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

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

18
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?