2016-03-03 221 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