如何让Git忽略大小写检出指定文件(避免整库检出)
解决Git检出文件时区分大小写的问题
用通配符直接匹配检出
借助Git的通配符结合正则,匹配所有大小写组合的目标文件名,无需拉取整个仓库就能精准检出:
git checkout HEAD -- '*[Rr][Ee][Ll][Ee][Aa][Ss][Ee][Nn][Oo][Tt][Ee][Ss].[Mm][Dd]'
先定位真实文件名再检出
如果不确定仓库里实际的文件名大小写,可以先通过命令匹配出真实文件名,再执行检出:
# 匹配所有大小写形式的releasenotes.md,提取真实文件名 TARGET_FILE=$(git ls-files | grep -i 'releasenotes\.md') # 检出找到的文件 git checkout HEAD -- "$TARGET_FILE"
临时调整仓库大小写配置
如果当前仓库默认开启了大小写忽略(core.ignorecase=true),可以临时关闭配置后用任意大小写命令检出,操作完成后再恢复:
- 查看当前配置:
git config core.ignorecase - 临时关闭大小写忽略:
git config core.ignorecase false - 用任意大小写命令检出:
git checkout HEAD -- releasenotes.md(输入任意大小写都能匹配到目标文件) - 恢复原配置:
git config core.ignorecase true
注意:如果你的系统是大小写不敏感的(比如默认的macOS、Windows),不要永久修改core.ignorecase配置,否则可能引发文件冲突。
内容的提问来源于stack exchange,提问作者GreenJenks
相关产品推荐
相关产品推荐

