Gitでは、もちろんソースコード類の管理をすることはできますが、
空のディレクトリだけを管理することは通常できません。
ですが以下の図のようにlogsディレクトリだけは管理したいみたいなことがあったりします。
(※access.log等は管理したくない。)
root/
├ logs
│ └ access.log
│ └ error.log
└ src
こんな、問題を解決するために使われるファイルが.gitkeepと呼ばれるファイルです。
ちなみにファイル名は.gitkeepでなくでも実はOKなのですが、
慣習的によく使われる名前なので、以下の説明では.gitkeepとして説明します。
作り方はいたって簡単です。
以下の例では、logsディレクトリに.gitkeepを作成します。
また、カレントディレクトリはrootとします。
1. ディレクトリの移動
cd ./logs
2. .gitkeepの作成
touch .gitkeep
3. .gitignoreに以下の記述を追加
logs/*.log
!.gitkeep
後は、コミットとプッシュするだけです。
ちなみに余談ですが、複数のディレクトリに移動して.gitkeepを作成するのはめんどくさく感じませんか。
(コマンドを叩かず、.gitkeepをコピーするのも手ですが…)
実はSourceTree(Gitクライアント)と連携して簡単に作れる方法がありそうなので、また今度説明したいと思います。