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

Git v2.20.0.windows.1无法批量添加深层目录*.txt文件求助

问题诊断与解决方案

可能原因

  1. Windows Shell通配符展开限制
    你使用的是Windows环境下的Git 2.20.0,若在CMD中执行git add *.txt,CMD的通配符只会匹配当前工作目录下的.txt文件,不会递归遍历子目录。而git add *.c正常,大概率是当前目录存在.c文件,需要添加的.txt文件却分布在子目录中,导致CMD展开后的*.txt未匹配到目标文件,Git自然不会执行添加操作。

  2. 旧版本Git兼容性Bug
    Git 2.20.0是2019年发布的旧版本,确实存在Windows环境下的路径匹配、通配符处理Bug,即便路径无特殊字符,部分场景下的批量文件匹配逻辑也可能存在异常。

诊断命令

  • 确认当前Shell类型:
    # Git Bash下执行
    echo $SHELL
    # CMD下执行
    echo %COMSPEC%
    
  • 查看通配符匹配范围:
    # CMD下查看当前目录所有.txt
    dir *.txt
    # CMD下查看递归所有.txt
    dir /s *.txt
    # Git Bash下查看递归所有.txt
    ls **/*.txt
    
  • 验证Git通配符处理逻辑:
    # 让Git自行处理通配符(CMD用双引号,Bash用单引号)
    git add "*.txt"
    # 检查Git是否启用自行处理通配符
    git config core.globpathspec
    
  • 排除.gitignore影响:
    git check-ignore -v D:\projects\srm\srm_frmw_v10\keil\Drivers\CMSIS\LICENSE.txt
    
    若输出为空,说明文件未被忽略;若有输出,需对应调整忽略规则(但你指定路径可添加,此情况概率极低)。

解决方案

  1. 修正通配符使用方式
    • 在Git Bash中使用递归通配符:
      git add **/*.txt
      
    • 在CMD中让Git处理递归通配符:
      git add "**/*.txt"
      
    • 切换到目标子目录后执行批量添加:
      cd D:\projects\srm\srm_frmw_v10
      git add *.txt
      
  2. 升级Git版本
    直接安装最新版Git for Windows(当前稳定版已更新至2.40+),新版本修复了大量旧版本的Windows兼容性问题,大概率能解决此类批量匹配异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 21:53:15