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

2016-04-24 08:58:04 +08:00
 lua

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

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

运行命令出现错误:

too many arguments (6861) -- limit is 4096

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

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

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

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

https://www.v2ex.com/t/273985

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

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

© 2021 V2EX