Gitと空のフォルダー

Gitはフォルダーを認識せず、ファイルのみを認識していることはよく知られているため、空のフォルダー構造がリポジトリーに残ることはありません。 ただし、多くのフレームワークやプロジェクトは絶対にそれらを必要とするので、それらは最終的にそこにあるはずです。 一般的な方法は、フォルダー構造を暗黙的に指定する、いわゆるプレースホルダーファイル(しばしば.gitkeepと呼ばれる)を作成することです。 これらのファイルは簡単に作成でき、必要に応じて、フォルダー内の他のファイルを確実に無視することもできます。


まず、テストリポジトリを作成し、いくつかのサブフォルダーを作成します。

434e6616f335599d241482f169f68f1b

これで、次のフォルダー構造ができました。

434e6616f335599d241482f169f68f1b

git status -uは期待どおりの変化を示しません。

Gitと空のフォルダー

findを使用て、必要なすべての場所にプレースホルダーファイル作成します。

434e6616f335599d241482f169f68f1b

次のフォルダ/ファイル構造を受け取りました:

434e6616f335599d241482f169f68f1b

git status -uを実行すると、すべてのフォルダーが(暗黙的に)リポジトリーにあることが示されます。

Gitと空のフォルダー

フォルダー構造が常にリポジトリーに配置され、ファイル(プレースホルダーファイルを除く)は配置されないようにする場合は、gitignoreを作成します。

434e6616f335599d241482f169f68f1b

ダブルスター構文を使用します

434e6616f335599d241482f169f68f1b

1行目はフォルダー「foo」内のすべてのファイルとフォルダーを(任意のレベルで)再帰的に無視し、2行目はすべてのフォルダー(任意のレベル)をこのルールから再帰的に除外し、3行目はすべての.gitkeepファイルを(任意のレベルで)除外します。

次に、いくつかのテストファイルを作成します。

434e6616f335599d241482f169f68f1b

git status -uを実行すると、目的の結果が表示されます。

Gitと空のフォルダー

バック