Android Studio Git Commit 过滤 build 目录完整方案
一、核心原理
Git 过滤文件靠项目根目录的.gitignore,配置后Commit 提交窗口不会再出现 build 下任何文件;
AS 内置的 Ignored Files 仅本地IDE隐藏,不生效于Git提交,优先用.gitignore。
方法1:标准 .gitignore 配置(推荐,全项目生效)
1. 打开项目根目录.gitignore文件
粘贴以下规则,自动忽略所有模块的 build 文件夹(多模块项目通用):
# 全局匹配所有子模块下的 build 目录 */build/ # 项目根目录的 build(Project级build) build/ # 配套Android常规忽略(一并加上) .gradle/ .idea/ *.iml local.properties .externalNativeBuild/ *.log .DS_Store*/build/:匹配任意模块(app、library、feature)下的build/,完美适配多模块build/:匹配项目根目录的顶层build文件夹
2. 关键:如果build已经被Git跟踪(提交列表还能看到)
文件之前提交过,仅改.gitignore无效,需要清除Git缓存:
打开AS底部Terminal执行:
# 清除所有已跟踪的build目录,本地文件保留gitrm-r--cached*/build/gitrm-r--cachedbuild/# 保存.gitignore并提交这条规则gitadd.gitignoregitcommit-m"chore: ignore all build folders"执行后重启AS,Commit窗口不再出现build文件。
方法2:Android Studio IDE本地临时忽略(仅本机,不提交仓库)
仅隐藏当前电脑的文件,换设备/换电脑失效,适合临时处理:
File → Settings → Version Control → Ignored Files
右上角点
+→ 选择Ignore all files under依次选中:
- 项目根
build - app模块
app/build - 其他library模块
xxx/build
- 项目根
Apply → OK
==》》此方法本地AS没有找到菜单,没测试
三、验证是否生效
- 打开顶部菜单 Git → Commit
- 左侧变更列表里无任何build目录文件,即过滤成功
- 目录树里build文件夹会显示黄色,代表已被忽略
四、常见踩坑
- 只写
build不加斜杠build/:会匹配名为build的文件,无法忽略文件夹 - 多模块只写
app/build/:新增library模块后build依然会出现在提交列表,必须用*/build/ - build已经提交到仓库:不执行
git rm --cached,.gitignore不会生效 - 混淆SVN和Git:SVN用IDE Ignored Files,Git必须用
.gitignore
最简完整Android .gitignore模板(直接复制)
# Gradle 构建产物 build/ */build/ .gradle/ .externalNativeBuild/ .cxx/ # IDE配置 .idea/ *.iml *.iws *.ipr # 本地环境配置 local.properties # 打包/日志 *.apk *.aab *.aar *.dex *.log # 系统文件 .DS_Store Thumbs.db==============
亲测配置根目录下.gitignore模板文件是生效的。