跟踪目录中的所有文件以git LFS但忽略该目录中存在的单个文件夹

时间:2017-06-08 06:28:16

标签: git git-lfs

说我有一个目录" my_dir"还有一些文件。我有一个子目录" my_dir_subdir"。

文件结构: " MY_DIR / my_dir_subdir"

如何通过git LFS跟踪my_dir但不跟踪" my_dir / my_dir_subdir /"通过git LFS

2 个答案:

答案 0 :(得分:1)

AFAIK" git lfs track"写入.gitattributes,后者又使用与.gitignore相同的模式匹配规则(参见.gitignore PATTERN FORMAT描述),所以我认为(我没有经过测试)你需要执行:

git lfs track "my_dir/**"
git lfs track "!my_dir/my_dir_subdir/**"

更新:

正如您所发现的,Git LFS不支持.gitignore等负面模式,上述答案将无法按预期工作。

所以...我认为实现你想要的唯一方法是:

1)使用" git lfs track"对于要跟踪的所有子目录(与my_dir_subdir不同)

或者

2)将my_dir_subdir移动到另一个目录

答案 1 :(得分:1)

似乎您可以在某个规则前面加上连字符来禁用它:

*.png filter=lfs diff=lfs merge=lfs -text
Dependencies/*.png -filter=lfs -diff=lfs -merge=lfs -text