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 条回复
Haku
2016 年 4 月 24 日
too many arguments 是指参数太多,也就是命令用错的意思....
tsl0922
2016 年 4 月 24 日
如果想忽略当前 index 内容只提交特定文件可以使用: git commit --only -m <msg> -- <file>...
strwei
2016 年 4 月 24 日
git add -A
mhtt
2016 年 4 月 24 日
git add -A ?
cheerzeng
2016 年 4 月 24 日
如果是同类文件,以 python 文件为例,可以 git add *.py
至于 commit ,跟 add 几次没关系啊
pynix
2016 年 4 月 24 日
分成 2 批。。。
wensonsmith
2016 年 4 月 24 日
git add -A
starcraft
2016 年 4 月 24 日
今天也碰到了添加的问题 刚好搜了研究下-A 的命令
kirisetsz
2016 年 4 月 24 日
这个是 shell 或者系统调用的限制解法嘛,把结果导入 xargs 转换一下吧 find . -print0 -type f | xargs -n1 git add -- 这样。
busyluo
2016 年 4 月 25 日
用 gitgit stage 添加要提交的文件

http://m.blog.csdn.net/article/details?id=50357277
chuxiwen
2016 年 4 月 25 日
too many arguments (6861) -- limit is 4096

这个是 shell 的限制,可以自写个 shell script 克服这个问题

http://stackoverflow.com/questions/13781216/bash-meaning-of-too-many-arguments-error-from-if-square-brackets
allenforrest
2016 年 4 月 25 日
感觉是做文件云同步,底层机制用 git 实现
darasion
2016 年 4 月 25 日
是 shell 的限制。即便你不用 git ,删除这么多文件也是有问题的。

一般命令行参数太多了或者不能预期是多少的时候,都得用 xargs 命令展开一下。
SmiteChow
2016 年 4 月 25 日
顶楼上,楼上说的展开就是走管道,妥妥的没问题

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

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

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

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

© 2021 V2EX