2016-03-03 245 views
39

是否可以使用Git LFS递归跟踪文件夹及其子文件夹中包含的所有文件?Git LFS跟踪文件夹递归地

我愿做这样的事情:

git lfs track myfolder/* 

回答

47

使用git lfs track "myfolder/**",加上引号,可避免外壳已经扩大的格局。 track命令所要做的就是写入.gitattributes,后者又使用与.gitignore相同的模式匹配规则,请参阅PATTERN FORMAT说明。

+0

我已经试过这个子文件夹,但只有** myfolder **中包含的文件和直接子文件夹(如** myfolder/myfolder2/**)被跟踪,但不包含子文件夹中包含的文件(如** myfolder /myfolder/myfile.png**)。感谢您的帮助 – csa

+7

啊,您可能是shell扩展的受害者,即'myfolder/**'在被传递给Git之前被shell扩展。我已经更新了我的答案以添加引号,这应该可以解决这个问题。 – sschuberth

+0

'.gitattributes'并不遵循(ALL)与上述git-scm链接所记录的相同的模式匹配规则,否则“myfolder/**”可以替换为“myfolder /”,符合语句“foo/will match一个目录foo和它下面的路径“。我认为(即未经证实的)“myfolder /”在'.gitignore'中起作用,因为忽略过程通过文件系统在匹配处停下来,但是'.gitattributes'会根据预先存在的列表进行检查。 如果您发现不同,请添加与git/git-lfs版本相反的评论。 – SensorSmith