github/gitignore · Flutter.gitignore

Flutter .gitignore 템플릿 해설

Flutter.gitignore가 .dart_tool, build, 플랫폼별 생성 파일, 서명 키를 무시하는 이유와 *.lock 규칙이 pubspec.lock까지 막는 문제를 설명합니다.

생성기에서 열기 Dart, VisualStudioCode, macOS, Android 함께 열기

Flutter.gitignore는 Dart 도구 폴더, 빌드 결과, 그리고 Android·iOS·macOS·Windows·Linux 플랫폼 폴더 안에서 Flutter가 자동 생성하는 파일을 폭넓게 다룬다. **/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.lock, Podfile.lock, Gemfile.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

함께 쓰는 템플릿

다른 템플릿 해설