GIT - git-add错误(错误的文件编号)

lui*_*sns 4 git git-add

我正在使用Git创建备份系统.

我刚刚创建了目录并在其上初始化了git.

git init
Run Code Online (Sandbox Code Playgroud)

当我尝试将未跟踪的文件添加到舞台上时

git add -u *.pdf
Run Code Online (Sandbox Code Playgroud)

我收到此回复错误:

sh.exe":/ bin/git:错误的文件号

作为附加信息,我有一个~4500未跟踪文件的列表,如果我尝试逐个添加文件,我没有得到任何错误响应,文件被发送到舞台.

有谁知道如何解决这个问题以及为什么会这样?我需要添加所有这些未跟踪的文件,但我不想以"猴子工作"方式这样做,逐个添加.

GoZ*_*ner 6

您不需要'-u',因为它只会添加您已经跟踪的文件.在git init你没有跟踪任何东西之后.从文档:

-u, - update:仅匹配索引中已跟踪的文件而不是工作树.这意味着它永远不会暂存新文件,但它会暂存已修改的跟踪文件的新内容,并且如果已删除工作树中的相应文件,它将从索引中删除文件.

使用-A(或--all)代替.

对于您的特定问题,当您编写'*.pdf'时,shell会将其扩展为4500个文件.大量文件可能溢出shell命令行输入缓冲区; 这导致了错误.你可以做一些事情:

git add -A               # adds everything at once
Run Code Online (Sandbox Code Playgroud)

要么

for file in *.pdf; do git add -A $file; done    # add files one by one
Run Code Online (Sandbox Code Playgroud)

这两个建议都将避免命令行问题; 第一个是首选.