はじめに
こちらの記事によると
.gitkeepは、「デフォルトではファイルが存在しないけれど、ファイルが追加されたら、そのファイルを Git での管理対象にしたい」場合 に使います。
.gitignore は、「デフォルトではファイルが存在しないし、そこに作られたファイルもバージョン管理したくない」場合 に使います。
とのことなので、空ディレクトリのみの管理であれば.gitignore
でしたほうが良さそうですが、諸事事情によりメモ。
書き方
ex. output/sample
をディレクトリのみ管理したい場合
ディレクトリ構成
.
├── .gitignore
└── output/
└── sample/
└── .gitkeep
.gitignore
!output/ # outputディレクトリ配下は除かない!!
output/* # でもoutput階層のファイルは除く..
!output/sample/ # output/sampleディレクトリ配下は除かない!!
output/sample/* # でもoutput/sample階層のファイルは除く..
!output/sample/.gitkeep # でもoutput/sample階層の.gitkeepは除かない!!
冗長だけど仕方ないっぽい。