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と空のフォルダ

バック