git 无法一次性 add / commit 大量文件?

2016 年 4 月 24 日
 lua

OS X 系统,使用 git 一次性导入大量文件,文件列表参数由程序自动生成, n 大于 4096 :

git add -- <file1> <file2> ... <filen>

运行命令出现错误:

too many arguments (6861) -- limit is 4096

git 高手们有遇到这种情况吗,该怎么解决?

17694 次点击
所在节点    git
54 条回复
Neytoph
2016 年 4 月 24 日
“ git add .”你要的应该是这个....
lua
2016 年 4 月 24 日
@Neytoph "git add ." 是添加全部,但现在需要 add / commit 任意指定的文件
SelFree
2016 年 4 月 24 日
=。= 6000+文件,看提示 limit is 4096 。这么多文件肯定不是手工整理的啦。分成多次或者导成 shell 呗:
git add <file1>
git add <file2>
...
ChiangDi
2016 年 4 月 24 日
分两次 add 呗
SelFree
2016 年 4 月 24 日
还有这个 4096 应该是 shell 的限制
lua
2016 年 4 月 24 日
@SelFree 分批 add 确实没问题, commit 该如何解决,也是需要指定任意文件
SelFree
2016 年 4 月 24 日
@SelFree 一次 commit 就是你当前 add 的内容
git add file1
git add file2
git add filen
git commit
这个时候就是 commit file1 、 file2 ... filen 啊
SelFree
2016 年 4 月 24 日
@lua 看上一条
YuJianrong
2016 年 4 月 24 日
commit 不会有问题吧,不需要解决。
lua
2016 年 4 月 24 日
@SelFree 有些文件暂时还不想一起提交
SelFree
2016 年 4 月 24 日
@lua
不想提交的就不要 add 啊。。。
neoblackcap
2016 年 4 月 24 日
若是生成文件都在一个文件夹里面的话,你 add 那个文件夹就好了
sagnitude
2016 年 4 月 24 日
你既然知道哪些文件不想提交,剪切出来不就行了
loggerhead
2016 年 4 月 24 日
这跟 git 无关,是 shell 的限制,可以了解一下 xargs
lua
2016 年 4 月 24 日
@SelFree 使用场景是在 GUI 中,希望能够精确指定所有文件

@loggerhead 不知道有没有办法修改或者绕过这个限制
xmgit
2016 年 4 月 24 日
不知道你不想提交的文件规律性怎么样,有个暴力的办法,列出你不想 commit 的文件, echo 进.gitignore 里
等 commit 后,再从.gitignore 里删除掉
SelFree
2016 年 4 月 24 日
@lua 怎么又到 GUI 里了。不如你描述一下你想做什么事情,这样大家可以对症下药。
semut
2016 年 4 月 24 日
@SelFree 实现是 shell ,场景是 GUI ,怎么感觉是做一个 git 的 gui 客户端啊
bikong0411
2016 年 4 月 24 日
这是 shell 报的错,跟 git 无关
lizheming
2016 年 4 月 24 日
如果是添加的多,不想添加的只有几个,可以 git add . 之后然后 git reset file 。当然我更推荐的是使用 git add -i 进入交互模式,可以自行选择需要 add 的文件,非常方便。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/273985

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX