
بالنسبة للعديد من المطورين ، كان مجلد .idea في Android Studio دائمًا يشبه الصندوق الأسود بالنسبة لي: كنت أعرف أنه موجود ، وعرفت أنه تمت إضافته دائمًا إلى .gitignore ، لكنني قررت معرفة سبب حاجتهم أو الملفات والمجلدات الأخرى ، حتى تتاح لي الفرصة للتعامل مع تعارضات git التي تنشأ في بعض الأحيان ، ومن أجل معرفة أي ملف يمكن إضافته بأمان إلى .gitignore وأيها ليس كذلك.
لقد اكتشفت ذلك في مثال المشروع الذي أعمل عليه. وقررت مشاركة نتيجة ما اكتشفته ، لأن لم أجد أي وثائق في هذا الشأن.
يشير إلى المسار المراد إضافته إلى .gitignore
يشير إلى المسار الذي أضافه Android Studio بالفعل إلى .gitignore
، ويجب ألا تقوم .gitignore
.
يشير إلى المسار الذي يجب تخزينه في git.
assetWizardSettings.xml
يخزن هذا الملف آخر رمز تمت إضافته باستخدام واجهة Android Studio. يمكن إزالته بأمان من VCS.

مخابئ
يمكن إضافة ذاكرة التخزين المؤقت ، كما يوحي الاسم ، إلى .gitignore
بأمان.
لا أرى أي سبب للاحتفاظ به في VCS ، ولكن بشكل افتراضي لا تتم إضافة هذا المجلد إلى .gitignore
.
caches / build_file_checksums.ser
في الواقع ، هذا الملف هو نسخة متسلسلة من ProjectBuildFilesChecksums .
الملف مطلوب للتحقق مما إذا تم build.gradle
أو settings.gradle
أو local.properties
أو ~/.gradle/gradle.properties
gradle.properties
أو gradle.properties
أو ملفات build.gradle
للوحدات النمطية الخاصة بك.
يستخدم Android Studio هذا الملف لإخبارك بضرورة مزامنة ملفات التدرج.
كود ستايلس
يحتوي هذا المجلد على إعدادات نمط رمز المشروع. من المفيد إصداره إذا قمت بتغيير أنماط التعليمات البرمجية الافتراضية.
قواميس
يحتوي المجلد على الإدخال الذي أضفته إلى القاموس للتحقق من الرمز. هذا القاموس مهم إذا كان لديك قواعد صارمة في نظام CI الخاص بك.
gradle.xml
أوصي بحذف هذا الملف من git. قد يحتوي على المسار المحلي لإصدار التدرج الخاص بك ، بالإضافة إلى المسار إلى الوحدة النمطية الخاصة بك. على سبيل المثال ، يمكنك تطوير وحدة نمطية في مستودع منفصل ، لذلك قد يكون المسار إلى الوحدة الخاصة بكل مستخدم.
لكل هذه الأسباب ، أحذف ملف gradle.xml
من VCS.
التفتيش
يحتوي هذا المجلد على قواعد Lint محددة لمشروعك. لذلك ، تمامًا مثل مجلد dictionaries
، يجب تخزينه في git.
مكتبات
يحتوي على ملف يشير إلى مكان تخزين ملفات jar في مكتباتك. نظرًا لأن مسار التنزيل قد يكون خاصًا بكل مستخدم ، فلا يجب تخزين هذا المجلد في VCS.
متفرقات. xml
يحتوي الملف على معلومات حول المشروع: إصدار Java ونوع المشروع وما إلى ذلك.
تتعلق هذه المعلومات بالمشروع ولا تعتمد على المستخدم. لذلك ، يجب تخزينه في git.
modules.xml
يحتوي هذا الملف على المسارات إلى ملفات .iml
للوحدات النمطية الخاصة بك. لذلك ، عن طريق القياس مع gradle.xml
لا يمكن تخزينه في git.
navEditor.xml
هذا هو المكان الذي يتم فيه تخزين العناصر الخاصة بك في محرر التنقل . إذا كانت هذه المعلومات ذات صلة بمشروعك ، فعليك حفظ هذا الملف في git. خلاف ذلك ، لا تتردد في إضافته إلى .gitignore
لتجنب الصراعات في المستقبل.
runConfigurations.xml
قد يشير لك اسم الملف إلى أنه يحتوي على تكوينات يمكنك إضافتها بالنقر فوق "تغيير التكوينات". يجب تخزين هذا الملف في VCS.

vcs.xml
يحتوي هذا الملف على معلومات حول VCS التي تستخدمها في مشروعك. يتم استخدامه بحيث يمكنك استخدام الواجهة الرسومية لإجراء عمليات التحكم في الإصدار. من الجدير أيضا إضافة إلى بوابة.
مساحة العمل. xml
يحتوي على معلومات حول مساحة العمل الخاصة بك في Android Studio. على سبيل المثال ، آخر موضع للمؤشر في الملف الذي تفتحه. إذن هذه بالتأكيد معلومات المستخدم التي ليست هناك حاجة لتخزينها في بوابة.
الملخص
أقترح عليك إضافة ثلاثة أسطر فقط إلى ملف .gitignore
الافتراضي:
/.idea/assetWizardSettings.xml /.idea/gradle.xml /.idea/caches # Uncomment next line if keeping position of elements in Navigation Editor is not relevant for you # /.idea/navEditor.xml
كما قلت في بداية هذه المقالة ، لم أجد أي وثائق حول محتويات المجلد .idea
، لذلك قد تكون المقالة غير مكتملة و / أو غير دقيقة بنسبة 100٪. إذا كنت تعرف شيئًا آخر غير موجود في هذه المقالة ، فاكتب عنه في التعليقات.