github/gitignore · Flutter.gitignore

Flutter .gitignore 模板详解

说明 Flutter.gitignore 忽略 .dart_tool、build、各平台生成文件和签名密钥的原因,以及 *.lock 规则连 pubspec.lock 也一并拦截的问题。

在生成器中打开 与 Dart, VisualStudioCode, macOS, Android 一起打开

Flutter.gitignore 广泛处理 Dart 工具目录、构建结果,以及 Flutter 在 Android、iOS、macOS、Windows、Linux 各平台目录中自动生成的文件。其特点是大量使用 **,例如 **/ios/**/Pods/

此模板还包含 /bin/cache//dev/bots/ 等 Flutter SDK 仓库自身的路径。应用仓库中没有这些路径,所以无害,但应当知道 flutter create 生成的 .gitignore 更适合应用。

逐条规则详解

模式忽略什么,为什么忽略
.dart_tool/.packages.pub/.flutter-plugins.flutter-plugins-dependenciesDart 与 pub 工具包解析结果、插件列表等由 flutter pub get 重新生成的文件。
build/coverage/app.*.symbols构建结果flutter build 的产物、测试覆盖率以及混淆构建的符号文件。
*.lock所有锁文件忽略所有 .lock 文件。因此 pubspec.lockPodfile.lockGemfile.lock 也会一并被排除。这条规则适合 SDK 仓库,但通常不适合应用。
**/android/local.properties**/android/key.properties*.jks**/android/**/GeneratedPluginRegistrant.java**/android/gradlewAndroid 生成文件与机密包含 SDK 路径的 local.properties、包含签名密码的 key.properties 和密钥库、插件注册代码等自动生成或机密的文件。
**/ios/**/Pods/**/ios/Flutter/Generated.xcconfig**/ios/Runner/GeneratedPluginRegistrant.***/ios/**/xcuserdata**/macos/Flutter/ephemeraliOS 与 macOS 生成文件CocoaPods 安装结果、Flutter 每次构建时写入的 xcconfig、插件注册代码以及 Xcode 用户状态。
**/windows/flutter/generated_plugin_registrant.cc**/linux/flutter/generated_plugins.cmake桌面插件注册代码Windows、Linux 构建中为连接插件而自动生成的 C++、CMake 文件。
*.log*.pyc*.swp.history其他日志、工具缓存和编辑器临时文件。

实践中的注意事项

原始模板

Flutter.gitignore规则 94 行
# Miscellaneous*.class*.lock*.log*.pyc*.swp.buildlog/.history# Flutter repo-specific/bin/cache//bin/internal/bootstrap.bat/bin/internal/bootstrap.sh/bin/mingit//dev/benchmarks/mega_gallery//dev/bots/.recipe_deps/dev/bots/android_tools//dev/devicelab/ABresults*.json/dev/docs/doc//dev/docs/flutter.docs.zip/dev/docs/lib//dev/docs/pubspec.yaml/dev/integration_tests/**/xcuserdata/dev/integration_tests/**/Pods/packages/flutter/coverage/versionanalysis_benchmark.json# packages file containing multi-root paths.packages.generated# Flutter/Dart/Pub related**/doc/api/.dart_tool/.flutter-plugins.flutter-plugins-dependencies**/generated_plugin_registrant.dart.packages.pub-preload-cache/.pub/build/flutter_*.pnglinked_*.dsunlinked.dsunlinked_spec.ds# Android related**/android/**/gradle-wrapper.jar.gradle/**/android/captures/**/android/gradlew**/android/gradlew.bat**/android/local.properties**/android/**/GeneratedPluginRegistrant.java**/android/key.properties*.jks# iOS/XCode related**/ios/**/*.mode1v3**/ios/**/*.mode2v3**/ios/**/*.moved-aside**/ios/**/*.pbxuser**/ios/**/*.perspectivev3**/ios/**/*sync/**/ios/**/.sconsign.dblite**/ios/**/.tags***/ios/**/.vagrant/**/ios/**/DerivedData/**/ios/**/Icon?**/ios/**/Pods/**/ios/**/.symlinks/**/ios/**/profile**/ios/**/xcuserdata**/ios/.generated/**/ios/Flutter/.last_build_id**/ios/Flutter/App.framework**/ios/Flutter/Flutter.framework**/ios/Flutter/Flutter.podspec**/ios/Flutter/Generated.xcconfig**/ios/Flutter/ephemeral**/ios/Flutter/app.flx**/ios/Flutter/app.zip**/ios/Flutter/flutter_assets/**/ios/Flutter/flutter_export_environment.sh**/ios/ServiceDefinitions.json**/ios/Runner/GeneratedPluginRegistrant.*# macOS**/Flutter/ephemeral/**/Pods/**/macos/Flutter/GeneratedPluginRegistrant.swift**/macos/Flutter/ephemeral**/xcuserdata/# Windows**/windows/flutter/generated_plugin_registrant.cc**/windows/flutter/generated_plugin_registrant.h**/windows/flutter/generated_plugins.cmake# Linux**/linux/flutter/generated_plugin_registrant.cc**/linux/flutter/generated_plugin_registrant.h**/linux/flutter/generated_plugins.cmake# Coveragecoverage/# Symbolsapp.*.symbols# Exceptions to above rules.!**/ios/**/default.mode1v3!**/ios/**/default.mode2v3!**/ios/**/default.pbxuser!**/ios/**/default.perspectivev3!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages!/dev/ci/**/Gemfile.lock

模板来源: github/gitignore/Flutter.gitignore @356fd7b (2026-09-11) · CC0-1.0

常搭配使用的模板

其他模板详解