1. ホーム
  2. git

[解決済み] .gitignoreを使用して特定のディレクトリ以外を無視する

2022-05-05 17:39:42

質問

私の問題は、私の git リポジトリにはたくさんの WordPress ウェブサイトがあり、その中から自分の themes フォルダを作成し、WordPress にある残りの冗長なファイルを無視します。

以前、ファイルの種類を無視するために .gitignore ファイルを使用したことがありますが、その逆、つまり特定のフォルダパス以外のすべてを無視するために使用することは可能ですか?

<ブロッククオート

ルート(GITレポ)

- / ワードプレス

- / (ワードプレスサイト1)/wp-content/themes

- /(ワードプレスサイト2)/wp-content/themes

- /(ワードプレスサイト3)/wp-content/themes

ありがとうございます。

UPDATE

回答を参考に、以下のようにしましたが、うまくいきません。 何かアイデアはありますか?

# Ignore everything:
*
# Except for wordpress themes:
!*/wp-content/themes/*

また、以下のバリエーションも試してみました。

!*/wp-content/themes*
!*wp-content/themes/*
!wp-content/themes/*
!/wordpress/*/wp-content/themes*
!wordpress/*/wp-content/themes*

これらはいずれも私の themes フォルダーに格納されます。

解決方法は?

どの方向にも1つ以上のレベルをワイルドカードで指定することはできません。

# Ignore everything:
*

# Except for the themes directories:

!wordpress/
!wordpress/*/
!wordpress/*/wp-content/
!wordpress/*/wp-content/themes/
!wordpress/*/wp-content/themes/*
!wordpress/*/wp-content/themes/*/*
!wordpress/*/wp-content/themes/*/*/*
!wordpress/*/wp-content/themes/*/*/*/*
!wordpress/*/wp-content/themes/*/*/*/*/*

含めたいレベルごとに明示的にコンテンツを許可しなければならないことに注意してください。 ですから、もしテーマの下に5つのサブディレクトリがあったとしても、それを明示する必要があります。

これはあくまで私の場合の方法です。 もし、もっと詳しい説明をする人がいれば、ぜひ教えてください。

また、これらの回答は参考になりました。

どのようにネガティブパターンが動作するのか?

ギティグノア除外規則が実際に機能する方法


NOTE ダブルワイルドカードの「globs」を使ってみましたが、曰く これ この機能はシステムに依存しており、私のMacではうまくいきませんでした。

動作しませんでした。

!**/wp-content/themes/
!**/wp-content/themes/**