我正在使用Git创建备份系统。
我刚创建了目录并在其上初始化了git。
git init
当我尝试使用
将未跟踪的文件添加到舞台时git add -u *.pdf
我收到此回复错误:
sh.exe“:/ bin / git:错误的文件编号
作为附加信息,我有一个~4500个未跟踪文件的列表,如果我尝试逐个添加文件,我没有得到任何错误响应,文件被发送到舞台。
有谁知道如何解决这个问题以及为什么会这样?我需要添加所有这些未跟踪的文件,但我不想以“猴子工作”方式这样做,逐个添加。
答案 0 :(得分:6)
您不需要'-u',因为它只会添加您正在跟踪的文件。在git init
之后,您还没有跟踪任何内容。来自文档:
-u, - update:仅匹配索引中已跟踪的文件而不是工作树。这意味着它永远不会 阶段新文件,但它将阶段修改新的内容 跟踪文件,它将从索引中删除文件,如果 工作树中的相应文件已被删除。
改为使用-A
(或--all
)。
针对您的具体问题,当您编写'* .pdf'时,shell会将其扩展为4500个文件。大量文件可能溢出shell命令行输入缓冲区;这导致了错误。你可以做一些事情:
git add -A # adds everything at once
或
for file in *.pdf; do git add -A $file; done # add files one by one
这两个建议都将避免命令行问题;第一个是首选。