Git LFS track folder recursively

后端 未结 2 894
一生所求
一生所求 2021-01-30 15:19

Is it possible to track recursively all files contained in a folder and its subfolders with Git LFS ?

I would like to do something like this :

git lfs tr         


        
2条回答
  •  借酒劲吻你
    2021-01-30 15:54

    This way you can track any folders with any subfolder. You want to recursively track folders with "n" number of folder and "m" number of 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  
    
    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/^/*./'
    
    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.

提交回复
热议问题