github/gitignore · Flutter.gitignore
شرح قالب .gitignore لـ Flutter
يشرح سبب تجاهل Flutter.gitignore لـ .dart_tool وbuild والملفات المولَّدة لكل منصة ومفاتيح التوقيع، ومشكلة أن قاعدة *.lock تحجب pubspec.lock أيضًا.
يغطي Flutter.gitignore على نطاق واسع مجلدات أدوات Dart ونتائج البناء والملفات التي ينشئها Flutter تلقائيًا داخل مجلدات منصات Android وiOS وmacOS وWindows وLinux. ومن سماته كثرة استخدام ** كما في **/ios/**/Pods/.
يتضمن هذا القالب أيضًا مسارات خاصة بمستودع Flutter SDK نفسه مثل /bin/cache/ و/dev/bots/. لا توجد هذه المسارات في مستودعات التطبيقات فلا ضرر منها، لكن اعلم أن ملف .gitignore الذي ينشئه flutter create أنسب للتطبيقات.
شرح القواعد
| النمط | ما الذي يتجاهله ولماذا |
|---|---|
.dart_tool/.packages.pub/.flutter-plugins.flutter-plugins-dependencies | أدوات Dart وpubملفات يعيد flutter pub get إنشاءها، مثل نتائج تحليل الحزم وقائمة الملحقات. |
build/coverage/app.*.symbols | نتائج البناءمخرجات flutter build وتغطية الاختبارات وملفات الرموز لعمليات البناء المموّهة (obfuscated). |
*.lock | كل ملفات القفليتجاهل كل ملفات .lock، فتُستبعد معها pubspec.lock وPodfile.lock وGemfile.lock. قاعدة تناسب مستودع SDK لكنها في الغالب لا تناسب التطبيقات. |
**/android/local.properties**/android/key.properties*.jks**/android/**/GeneratedPluginRegistrant.java**/android/gradlew | ملفات Android المولَّدة والسريةملفات مولَّدة تلقائيًا أو سرية، مثل local.properties الذي يحوي مسار SDK، وkey.properties الذي يحوي كلمة مرور التوقيع، ومخزن المفاتيح، وشيفرة تسجيل الملحقات. |
**/ios/**/Pods/**/ios/Flutter/Generated.xcconfig**/ios/Runner/GeneratedPluginRegistrant.***/ios/**/xcuserdata**/macos/Flutter/ephemeral | ملفات iOS وmacOS المولَّدةنتائج تثبيت CocoaPods، وملف xcconfig الذي يكتبه Flutter مع كل بناء، وشيفرة تسجيل الملحقات، وحالة مستخدم Xcode. |
**/windows/flutter/generated_plugin_registrant.cc**/linux/flutter/generated_plugins.cmake | شيفرة تسجيل ملحقات سطح المكتبملفات C++ وCMake تُولَّد تلقائيًا لربط الملحقات في بناء Windows وLinux. |
*.log*.pyc*.swp.history | أخرىالسجلات وذاكرات الأدوات والملفات المؤقتة للمحررات. |
ملاحظات عملية
- في التطبيقات، أودِع
pubspec.lockكما توصي وثائق Dart. وعند استخدام هذا القالب أضف!pubspec.lockو!**/ios/Podfile.lockإلى القواعد التي تضيفها بنفسك. - لا تودِع أبدًا
key.propertiesومخازن المفاتيح.jks. في CI تُحقن من مخزن الأسرار. - إذا اخترت معه قالب Dart فسيُتجاهَل
*.jsأيضًا، فإن كانت في شيفرة الويب ملفات JavaScript فاختبر النتيجة.
القالب الأصلي
Flutter.gitignore
# 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