我正在使用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未跟踪文件的列表,如果我尝试逐个添加文件,我没有得到任何错误响应,文件被发送到舞台.
有谁知道如何解决这个问题以及为什么会这样?我需要添加所有这些未跟踪的文件,但我不想以"猴子工作"方式这样做,逐个添加.
您不需要'-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)
这两个建议都将避免命令行问题; 第一个是首选.