如何在Node.js中通过Git忽略UUID格式命名的文件夹?
解决Git忽略UUID格式文件夹的问题
你的.gitignore规则无效是因为误用了正则表达式语法——Git的忽略规则采用的是glob模式,而非正则。要匹配8-4-4-4-12位十六进制字符组成的UUID格式文件夹,需使用符合glob语法的规则:
正确的.gitignore规则
将以下规则添加到你的.gitignore文件中:
# 匹配UUID格式的文件夹(兼容大小写十六进制字符) root-folder/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]/
若你的Git环境支持[:xdigit:]字符类(专门匹配十六进制数字),可简化为:
root-folder/[:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:]-[:xdigit:][:xdigit:][:xdigit:][:xdigit:]-[:xdigit:][:xdigit:][:xdigit:][:xdigit:]-[:xdigit:][:xdigit:][:xdigit:][:xdigit:]-[:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:][:xdigit:]/
注意规则末尾的
/必须保留,它用于告诉Git这是一个文件夹而非文件。
规则仍不生效的处理
如果这些UUID文件夹已经被Git追踪过,忽略规则不会自动生效,需先移除它们的追踪状态(不会删除本地文件):
# 批量移除root-folder下所有UUID格式文件夹的追踪 git rm --cached 'root-folder/[0-9a-fA-F]*-[0-9a-fA-F]*-[0-9a-fA-F]*-[0-9a-fA-F]*-[0-9a-fA-F]*'
之后提交修改:
git add .gitignore git commit -m "Add rule to ignore UUID folders"
内容的提问来源于stack exchange,提问作者Olusegun
相关产品推荐
相关产品推荐

