DEV Community

Cover image for Git LFS track folder recursively
Prabesh Thapa
Prabesh Thapa

Posted on

Git LFS track folder recursively

If you want to recursively track folders with "n" folder and "m" sub-folders. I would recommend doing it this way.

  1. Find all the files extensions using following command
find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u
Enter fullscreen mode Exit fullscreen mode
  1. and then creating a .gitattribute file and adding git lfs track syntax. This command generates that for you, it tracks all the files and its extensions and creates lfs tracking syntax.
find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u | awk '{print $1" filter=lfs diff=lfs merge=lfs -text"}' | sed 's/^/*./'
Enter fullscreen mode Exit fullscreen mode
  1. Copy paste output to the .gitattribute file and commit.

It works for

  1. Any number of files and folder.
  2. Large repo with large number of small files which makes the repo size very big.
  3. Any number of folder and sub-folders.

Top comments (0)

AWS Q Developer image

Build your favorite retro game with Amazon Q Developer CLI in the Challenge & win a T-shirt!

Feeling nostalgic? Build Games Challenge is your chance to recreate your favorite retro arcade style game using Amazon Q Developer’s agentic coding experience in the command line interface, Q Developer CLI.

Participate Now

👋 Kindness is contagious

Explore this insightful write-up, celebrated by our thriving DEV Community. Developers everywhere are invited to contribute and elevate our shared expertise.

A simple "thank you" can brighten someone’s day—leave your appreciation in the comments!

On DEV, knowledge-sharing fuels our progress and strengthens our community ties. Found this useful? A quick thank you to the author makes all the difference.

Okay