查找不在.git目录中的大文件

时间:2018-07-30 08:04:22

标签: linux find

我正在使用git annex跟踪一些大文件。我通常要做的是:

find . -type f -size +10M | xargs -r git annex add

我遇到的问题是find遇到.git目录中的大文件:

» find . -type f -size +10M
./.git/annex/objects/47/fx/SHA256E-s1208418304--5bca6a4c23b7c92976076e1a2490e81a6181301c86d2c2737840bb5b50a285d1.vmdk/SHA256E-s1208418304--5bca6a4c23b7c92976076e1a2490e81a6181301c86d2c2737840bb5b50a285d1.vmdk
./.git/annex/objects/ZZ/Q5/SHA256E-s3262054400--63bc227c3247ed9dfcb41d5ed20b887cf0ba2ef207dfae0ba95160efcbc89581.vmdk/SHA256E-s3262054400--63bc227c3247ed9dfcb41d5ed20b887cf0ba2ef207dfae0ba95160efcbc89581.vmdk
./.git/annex/objects/zj/mK/SHA256E-s6072303616--efdb32d49d31557a84f66fdb9871e24b63aa97b19956f050e2516cf392cd2467.vdi/SHA256E-s6072303616--efdb32d49d31557a84f66fdb9871e24b63aa97b19956f050e2516cf392cd2467.vdi

然后git annex尝试重新添加它们。

我该如何判断发现忽略(prune目录中的文件,而仍然过滤大型文件(.git)。我无法构造正确的命令。

2 个答案:

答案 0 :(得分:1)

find . -type f -size +10M -not -path "./.git/*"应该可以解决问题

答案 1 :(得分:1)

从后裔候选人列表中删除.git/

find . -name .git -type d -prune -o -type f -size +10M -print0 | xargs -0 ...