为什么Flutter项目默认.gitignore未包含ios/build文件夹?
原因说明
现有忽略规则的匹配逻辑限制
项目根目录.gitignore中配置的/build/规则,在Git的路径匹配规则下:如果忽略规则以/开头、或者规则中包含路径分隔符,仅会匹配.gitignore所在目录(即项目根目录)下的直接同级目录,只会忽略根目录下的/build/文件夹,不会命中二级子目录下的ios/build/路径。
而ios/.gitignore是基于原生Xcode项目的通用忽略模板生成的,默认仅覆盖了Xcode标准的DerivedData构建产物路径、Pod依赖等常见忽略项,本身没有包含build目录的忽略规则。
Flutter默认规则的设计逻辑
Flutter官方提供的默认.gitignore规则是基于Flutter CLI的标准构建流程设计的:正常执行flutter build ios等iOS相关构建命令时,所有构建产物都会统一输出到*项目根目录的/build/ios*路径下,不会在ios目录下生成build文件夹。
只有当你手动打开Xcode、直接在Xcode中执行编译操作时,才会生成ios/build/目录,这种属于原生侧自定义操作的场景,没有被官方默认的忽略规则覆盖。
解决方案
如果需要忽略该目录,任选一种方式即可:
- 在项目根目录的
.gitignore中添加规则:/ios/build/ - 在ios目录的
.gitignore中添加规则:build/
内容的提问来源于stack exchange,提问作者Akbar Pulatov
相关产品推荐
相关产品推荐

