結論 「.gitkeep 」を使う
なぜ、空のディレクトリの場合は、管理対象にならないのか?
>gitはファイルの存在や内容の変化を記録するためです。
ディレクトリ自体は変更されるものではなく、ファイルの存在や内容の変化を記録するため、空のディレクトリは変化がないとみなされます。
そのため、Gitは空のディレクトリを管理対象にしません。
.gitkeepとは
ファイルが追加された場合gitの管理対象にしたい場合使用する。
空のディレクトリにはファイルが存在しないため、Gitはそれを管理できませんが空ファイルを作成することで管理することができます。
慣習的に目的がディレクトリの維持のため「.gitkeep」という名前になっています。
例:ディレクトリの構造を維持するため
.gitignoreとは
ファイルが追加されても、gitの管理対象にしたくない場合使用する。
.gitignoreファイルに記述することで、指定したファイルやディレクトリをGitの管理対象外にすることができます。
.gitignore
* //ディレクトリになる全てのファイル
!.gitignore //.gitignoreを除く
例:ログファイルやOSが自動生成したファイルなど、バージョン管理に必要ないファイルを除外するために使用する。
このように、.gitkeepは空のディレクトリをGitで管理したい場合、.gitignoreは管理したくないファイルを除外するために使います。