.gitignoreでフォルダのみ生かしたい時

$ tree
.
├── config
│ ├── hoge.dat
│ └── secret.pem
├── index.html
├── log
│ └── log.txt
├── src
│ └── main.rs
└── target

.gitignore

target/
congif/
target/
log/*.txt
.env

git push

これだと、logやconfigの空フォルダが生成できない。
.gitkeepをフォルダの中に置いて、以下のように書く

!config/
config/*
!config/.gitkeep
!log/
log/*.txt
!log/.gitkeep
target/
.env

すると、logやconfigは空フォルダができるが、中のファイル群は更新されない。

OK!