1. 将来の内容のためにプレースホルダーを置く
uploads を作成し、エディターで空の uploads/.gitkeep を作って、このファイルをステージします。
git add -- uploads/.gitkeepインデックスに uploads/.gitkeep があることを確認します。.gitkeep は慣例名で、Git の特別な機能ではありません。用途を説明する README でも構いません。後から追加するファイルを自動的に無視する機能はありません。
git ls-files -- uploads/ 2. ディレクトリを残して生成物を無視する
別の方法として uploads/.gitignore を作成し、次の2行を入れます。* が内容を無視し、!.gitignore がルールファイル自体の追跡を可能にします。この方法を選ぶ場合、.gitkeep の方法と併用する必要はありません。
このルールファイル自体が追跡するプレースホルダーです。ディレクトリにはこのファイルが存在し、ルールを変えるまでは後のファイルも無視されます。
*
!.gitignore 3. 選んだ方法を検証する
.gitignore の方法では、ルールファイルをステージします。
git add -- uploads/.gitignoreuploads/example.bin を作成し、一致ルールを確認します。
git check-ignore -v -- uploads/example.binインデックスには uploads/.gitignore があり、example.bin はないはずです。親のルールが uploads 自体を除外している場合は、先にそのルールを直して、Git が下位の .gitignore を読めるようにします。
git ls-files -- uploads/ 正確な動作や詳細は、公式の資料を参照してください。 Git のドキュメント · git add の公式ドキュメント