سؤال

يستخدم المشروع MAVEN حتى ملفات POM هي المصادر الرئيسية لمعلومات المشروع. هناك بعض الإعدادات المفيدة في ملفات المشروع التي ستكون لطيفة للحفاظ عليها.

يبدو أن فكرة OTOH إنشاء العديد من التغييرات الزائدة في بنية ملف المشروع مما يلوث محفوظات SVN وإنشاء تعارضات في بعض الأحيان.

يجب أن أبقي دليل .idea وملفات * .iml ضمن عنصر تحكم الإصدار؟ كليا؟ في جزء؟

تحديث: لذلك أفضل الممارسات التي وجدتها تعمل من أجلي وفريقي بعيد جدا:

  1. تحقق في جميع ملفات الفكرة، ودليل .iml و .يديا. أنها تحتوي على معلومات قيمة وهي مضيعة للوقت لإعادة إنشاءه في كل مرة تقوم فيها بالتحديث.
  2. إنشاء فرع خاص لكل مطور
  3. cd إلى دليل .idea
  4. SVN تبديله إلى نظيره الفرعي الخاص
  5. لا تحقق في ملفات الفكرة على ارتكاب منتظم - أنها تلوث التاريخ. تحقق منها في ارتكاب خاص.

بهذه الطريقة، يمكنك الاحتفاظ بمحتوى Directory .IDEA في التحكم في الإصدار ولكنه يبقيه بعيدا عن طريق الالتزام العادي. يمكن لأي مطور الوصول إلى أدلة فكرة أي شخص آخر.

تحديث 2: منذ كتابة هذا السؤال، لقد غيرت ممارستي ليس تحقق في أي ملفات Intellij في عنصر تحكم الإصدار، كما نصح العديد من المستجيبين. هذه هي ممارستي الحالية لكل من Maven and Madele. طورت الأدوات إلى النقطة التي يمكن دائما إعادة إنتاج المعلومات الهامة من ملفات .pom أو .gradle الأصلي. عندما تتغير الملفات، تتغير المسارات IDE بشكل موثوق حتى لا تفقد ملفات IDE الخاصة بك والتي غالبا ما تكون هناك حاجة للتحقق منها.

تحديث 3: بعد 7 سنوات من طرح هذا السؤال أنه لا يزال ذا صلة. تنطبق نفس الممارسات نفسها على التقديم أيضا (ربما SBT، أيضا): لا تحقق من ملفات IDE، وإعادة إنشاءها حسب الضرورة من ملفات POM، .gradle أو SBT.

هل كانت مفيدة؟

المحلول

إجابة قصيرة: لا تضع هذه الملفات في مستودع التحكم المصدر حيث يمكنك "إنشاء" (وهذا صحيح حتى إذا لم تكن بحاجة إليها، إذا كانت مزعجة، إذا تمكنوا من كسر بيئة الآخرين).

أنا شخصيا استخدم القيم التالية ل svn:ignore:

target 
*~ 
*.log 
.classpath 
.project 
*.ipr 
*.iws 
*.iml 
.settings 

نصائح أخرى

واحدة من الأشياء العظيمة عن Maven هي أن دعم الأداة موجود لتحويل بوم إلى مشروع أصلي في الكسوف والفكرة والشبارك. إذا كان لديك بوم، يمكنك إنشاء مشروع أصلي بسرعة كبيرة.

لهذا السبب، لن أتحقق من ملفات .idea أو * .iml ضمن التحكم المصدر بأكثر مما كنت أتحقق من روابط RMI أو ملفات الفصل.

أعتقد أنه يجب عليك وضع دليل .idea في عنصر تحكم الإصدار. معظم التكوين الموجود هناك يجب تتبع الإصدار، مثل التكوينات المحول البرمجي.

الملف الوحيد الذي لا ينتمي إلى عنصر تحكم الإصدار هو .idea / workspace.xml، لأنه يحتوي فقط على التكوين بشكل خاص على بيئتك المحلية.

إن Intellij Idea فعلا يضع WorksPace.xml في قائمة تجاهل افتراضيا، لذلك إذا كنت تستخدم الفكرة للتحقق في، يجب أن تكون كلها محددة دون تغيير أي شيء.

أرى أن الإجابة القياسية هي "لا تحقق في ملف المشروع، فقط .pom". لكن أشياء مثل ملفات .ipr تحتوي على الكثير من الإعدادات المفيدة التي لا يمكن أن تستمد من ملف .pom. ماذا لو كان مستخدمي Intellij يرغبون في مشاركة تلك الإعدادات؟ أعرف أن ملفات .IPR مصممة ليتم إصدارها (انظر هذا الموضوع علي سبيل المثال). أتمنى لو كان لدي إجابة فعلية، لكنني لم أجد بعد ممارسة جيدة في هذه المسألة.

رأيي هو أننا يجب أن نبقي أي ملفات IDE الخاصة من التحكم في الإصدار. الفكرة هي أننا يجب أن نحافظ على أكبر قدر ممكن من المعلومات في شكل IDE المستقلة مثل ملفات Maven POM وما إلى ذلك. يمكن إبقاء جميع إعدادات المشروع الهامة هناك. ولديها جميع إعدادات المشروع الرئيسية التي تم الاحتفاظ بها في ملف POM لا أرى أي سبب خطير للتحقق في تكوين مشروع الفكرة فحسب، لكن أي تكوين IDE محدد آخر. بالإضافة إلى ذلك، قم بتكوين مشروع نمط مجلد .idea حقا تلوث سجلات التغييرات. وما زلنا نريد الاحتفاظ بإعدادات مشروع الفكرة في عنصر تحكم الإصدار، يمكننا على الأقل تخزينها بتنسيق ملف .IPR واحد.

أتأخر عن هذا الحزب، لكن هذه القضية الدقيقة كانت تعاني مني. وكنت مستوحى من ما أعتقد أنه يمكن أن يعمل، على الأقل مع نظام التحكم المصدر لدينا.

لا يجب تخزين ملفات Intellij "معا" مع Pom.xml موثوق والمصدر. ليس سجل التحكم الإصدار "ملوثا" إذا تم تسجيل هذه التغييرات ذات الصلة غير المصدر إلى مكان مختلف في شجرة المصدر.

لذلك سأحاول نقل ملفات Intellij إلى مكان مواز في نظام التحكم الإصدار، استخدم تعيين ملفات / دليل بسيط لإعادة توحيد ملفات المصدر والمشروع على جهاز المطور، ومراقبة التغييرات في نظام التحكم الإصدار الذي يتمثل بحتة إلى الملفات التي تؤثر بحتة البناء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top