新增SVG文件时出现~BROMIUM目录导致Git拉取报错是什么原因?
问题根因
1. 临时目录自动生成逻辑
带~前缀的~BROMIUM目录是基于Chromium内核的编辑器/IDE(如VS Code、Atom等)编辑SVG文件时自动生成的临时缓存目录,用于存储编辑过程中的临时数据,无需用户手动创建,通常编辑窗口关闭后会自动删除,若你在缓存目录未自动删除时执行了git提交操作,就会将该目录一并提交到仓库。
2. 跨系统文件命名兼容性问题
你本地开发环境(Windows/macOS)对~开头的目录命名兼容性正常,因此提交、合并操作都不会触发问题。但拉取代码的目标环境(通常为Linux系统、受限CI节点或有自定义路径规则的企业内网环境)会将路径中的~识别为用户家目录的转义符,拼接路径时会出现异常,最终触发cannot create directory at 'assets/img/~BROMIUM': No such file or directory报错。
3. Git忽略规则遗漏
你的项目.gitignore文件未配置~开头临时资源的忽略规则,导致这类自动生成的临时目录没有被git自动排除,最终被误提交到远程仓库。
规避方案
- 给项目
.gitignore添加全局匹配规则~*,自动过滤所有~开头的临时文件、目录,避免后续同类误提交问题 - 每次执行git提交前先运行
git status检查待提交文件列表,确认仅包含业务代码相关变更后再执行提交操作 - 后续再遇到同类路径创建报错,优先检查远程仓库是否存在带特殊字符的非预期目录,直接删除即可解决拉取异常
内容的提问来源于stack exchange,提问作者rickhekman
相关产品推荐
相关产品推荐

