Git はファイルを管理するものであるため、ディレクトリそのもの(空のディレクトリ)の管理まではできなくなってますが、それでもプロジェクトを管理する際にlog用、cache用や Laracel の Seeder用のディレクトリは空ディレクトリで管理したい(コミットする)ケースが出ててくるかと思います。
その際に、よく利用する方法として、.gitkeep、.gitignoreを空のディレクトリ配下に設置し、運用するとういう方法です。
でも、この2つのファイルの使い分けって何なの?何を基準で使いわた方がいいのだろうというが気になったので簡単にまとめてみました。
使いわけ
.gitkeep
と .gitignore
の使いわけを簡単に書きますと、これらを使用し、空でコミットしたディレクトリにファイルが追加され、そのファイルを Git での管理対象に含めるかどうかという点で使い分けられることが多いかと思います。
含めたい場合は .gitkeep
、含めない場合は .gitignore
というイメージです。
.gitkeep を使うケース
.gitkeep
は、デフォルトではファイルが存在しないけど、ファイルが追加されたら、そのファイルを Git での管理対象にしたい場合 に使います。
Laravel でいうところの database/seeds ディレクトリのように最初はファイルがないが、追加された際には、Git の管理対象に含めて運用するかと思います。
そのように最初は空のディレクトリで運用していく中で、後から Git 上にファイルを追加したいというケースに使用するかと思います。
.gitignore を使うケース
.gitignore
は、デフォルトではファイルが存在しないし、仮にそこに作られたファイルもバージョン管理したくない場合 に使いますので、例えば、プロジェクト配下の logs ディレクトリや cache ディレクトリかなというところです。
出力されたログやキャッシュは環境特有のファイルになりますので、Git 運用上で管理する必要がないファイルになるかと思いますので、こういったケースで使用するかと思います。
コメント