You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行git add .时冻结并报mmap failed错误,求保留旧提交的解决方法

解决git add .冻结并报mmap failed的问题

实用绕过方案

既然单个文件执行git add <specific-file>正常,直接从批量添加入手绕开git add .的问题:

  • 通配符批量添加:如果文件是同类型(比如都是.txt),直接用git add *.txt;如果要包含所有非隐藏文件,用git add *;需要包含隐藏文件的话,再单独执行git add .[!.]*(自动排除.git目录)
  • shell遍历批量添加:用命令逐个添加所有未跟踪文件,避开git add .的全局扫描逻辑:
    # Bash环境下,遍历所有非.git目录的文件
    find . -type f -not -path './.git/*' -exec git add {} +
    
    仅针对当前目录文件的话,用更简单的命令:
    for file in *; do git add "$file"; done
    

排查与配置调整

如果批量添加仍有问题,试试这些方向:

  • 定位异常文件:执行git add -v .,查看命令卡在哪个文件上,排查是否有权限异常、符号链接、空文件等特殊文件
  • 禁用Git的mmap功能:报错和内存映射机制相关,直接禁用该特性:
    git config --local core.mmapwindow 0
    
    若无效,调整mmap内存限制:
    git config --local core.mmaplimit 1048576
    

以上所有操作都会完整保留仓库旧提交,不会丢失历史记录。

内容的提问来源于stack exchange,提问作者Huka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:59:56