如何使用git add或git lfs跟踪大量文件

4

我的目录结构如下,有许多扩展名为.xyz的文件:

/outerdir-123
    /123456a
       abc.xyz
    /123457b
       lmn.xyz
       opq.xyz
    /999998c
       def.xyz
       ghi.xyz
       lop.xyz

当我尝试执行以下操作时:
git lfs track outerdir-123/**

或者当我尝试添加文件时:

git add outerdir-123/**

它会抛出一个异常。
-bash: /usr/local/bin/git: Argument list too long

大约有10万个内部目录,每个目录包含1到20个.xyz文件。
这些文件都足够小(每个文件<10MB),所以它们应该能够适合于git仓库。
如何使用git addgit lfs track来添加/跟踪大量的子目录和文件在outerdir-123中?这是否可能?
我应该编写一个脚本并逐个添加/跟踪每个子目录吗?

1
只需使用 git lfs track outerdir-123 命令吗?问题不在于 git,而是由于 shell 展开 glob 后参数列表的最大长度限制。 - Phylogenesis
1个回答

5

只需在lfs中使用双引号:

git lfs track "outerdir-123/**"

仅需要添加的目录名称:

git add outerdir-123

1
git add outerdir-123 对于大约1百万个文件来说并不是一件轻松的任务,已经过去2个小时了,它仍在添加中。 - alvas
我认为这是在使用Github时最好的方法。因为这个问题一直让我头疼不已,但是非常感谢你提供的解决方案。 - kaybrian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接