回答:
これはルートファイルとルートディレクトリを無視し、次にルートbinディレクトリを無視します。
/*
/*/
!/bin/
この方法で、サブディレクトリとそのファイルを含むすべてのbinディレクトリを取得します。
/stuff/
とを持っていますが、!/stuff/specific/
それでも/ stuff / specific /を無視します
git check-ignore -v
それが原因であると言われました~/.gitignore
!/bin/
ルート.gitignore
ファイルに追加する必要がありましたが、さらに...で/bin/.gitignore
ファイルを追加する必要!*
がありました。これらの変更の1つだけを実行しても機能しませんでした。両方の変更を組み合わせた後にのみ機能しました。
ここで、いくつかのディレクトリの1つのディレクトリ「MY_SUPER_DUPER_TEMPLATE_directory」を除いてすべてを無視する方法
構造:/ bitrix / templates / MY_SUPER_DUPER_TEMPLATE_directory
/*
!/bitrix
/bitrix/*
!/bitrix/templates
/bitrix/templates/*
!/bitrix/templates/MY_SUPER_DUPER_TEMPLATE_directory
*.DS_Store
*.gitignore
目的地に向かう途中ですべてを除外する必要がありますが、目的地を含める必要があります。
注:これは除外ファイル(つまり.gitignore)であるため、ロジックが逆になります。tspディレクトリ以外のすべてを無視、srcディレクトリ以外のtspディレクトリ内のすべてを無視...
/*
!/tsp
/tsp/*
!/tsp/src
/tsp/src/*
!/tsp/src/*.h
!/tsp/src/*.cpp
!/tsp/src/data.txt
!/.gitignore
あなたが持っている唯一の問題は、bin
ディレクトリ自体がbin/*
パターンと一致しないため、gitがbin
ディレクトリを調べないことです。
思い浮かぶソリューションは2つあります。
.gitignore
:
*
!/bin/
!bin/*
または
.gitignore
:
*
!/bin/
bin/.gitignore
:
!*
最初の解決策bin
は、呼び出されないサブディレクトリにあるディレクトリ内のファイルを無視することを止めないので、私は2番目の解決策を好みますbin
。これは、状況によっては問題にならない場合があります。
# Ignore everything * # But not these files... !/wp-content/ !/wp-content/plugins/ !/wp-content/plugins/my_plugin/ !/wp-content/plugins/my_plugin/*
です。コメントにブロックコードがありませんか?
公式のgit docから、例の1つは次のように述べています。
特定のディレクトリfoo / barを除くすべてを除外する例(/ *に注意してください-スラッシュなしでは、ワイルドカードもfoo / bar内のすべてを除外します):
$ cat .gitignore
# exclude everything except directory foo/bar
/*
!/foo
/foo/*
!/foo/bar
先頭のスラッシュに関する説明:gitignoreで先頭のスラッシュを使用する場合。