Git LFS 递归跟踪文件夹
Git LFS track folder recursively
是否可以使用 Git LFS 递归跟踪文件夹及其子文件夹中包含的所有文件?
我想做这样的事情:
git lfs track myfolder/*
使用 git lfs track "myfolder/**"
,带引号以避免 shell 已经扩展了模式。 track
命令所做的就是写入 .gitattributes
,后者使用(几乎)与 .gitignore
相同的模式匹配规则,请参阅 PATTERN FORMAT 描述。
这样您就可以跟踪具有任何子文件夹的任何文件夹。您想要递归跟踪文件夹数为“n”和“m”的文件夹
子文件夹的数量。我建议这样做。
- 使用以下命令查找所有文件扩展名
find . -type f | perl -ne 'print if m/\.([^.\/]+)$/' | sort -u
- 然后创建一个 .git 属性文件并添加 git lfs 跟踪语法。此命令为您生成它,它跟踪所有文件及其扩展名并创建 lfs 跟踪语法。
find . -type f | perl -ne 'print if m/\.([^.\/]+)$/' | sort -u | awk '{print " filter=lfs diff=lfs merge=lfs -text"}' | sed 's/^/*./'
- 将粘贴输出复制到 .git 属性文件并提交。
适用于
- 任意数量的文件和文件夹。
- 包含大量小文件的大型存储库,这使得存储库非常大。
- 任意数量的文件夹和子文件夹。
是否可以使用 Git LFS 递归跟踪文件夹及其子文件夹中包含的所有文件?
我想做这样的事情:
git lfs track myfolder/*
使用 git lfs track "myfolder/**"
,带引号以避免 shell 已经扩展了模式。 track
命令所做的就是写入 .gitattributes
,后者使用(几乎)与 .gitignore
相同的模式匹配规则,请参阅 PATTERN FORMAT 描述。
这样您就可以跟踪具有任何子文件夹的任何文件夹。您想要递归跟踪文件夹数为“n”和“m”的文件夹 子文件夹的数量。我建议这样做。
- 使用以下命令查找所有文件扩展名
find . -type f | perl -ne 'print if m/\.([^.\/]+)$/' | sort -u
- 然后创建一个 .git 属性文件并添加 git lfs 跟踪语法。此命令为您生成它,它跟踪所有文件及其扩展名并创建 lfs 跟踪语法。
find . -type f | perl -ne 'print if m/\.([^.\/]+)$/' | sort -u | awk '{print " filter=lfs diff=lfs merge=lfs -text"}' | sed 's/^/*./'
- 将粘贴输出复制到 .git 属性文件并提交。
适用于
- 任意数量的文件和文件夹。
- 包含大量小文件的大型存储库,这使得存储库非常大。
- 任意数量的文件夹和子文件夹。