मेटाडाटा और कार्यस्थान
मैं wou ld कभी भी .metadata
फ़ोल्डर साझा न करें। असल में जब तक कि आपके पास कोई विशेष कारण न हो, मैं वर्कस्पेस फ़ोल्डर को भी साझा नहीं करूंगा बल्कि इसके बजाय प्रत्येक प्रोजेक्ट को गिट के साथ अलग-अलग साझा करता हूं। इस तरह .metadata
फ़ोल्डर हमेशा अपना Git भंडार के पैरेंट फ़ोल्डर में होगा और आप के बारे में है कि क्या आप वैसे भी इसे अनदेखा करने की जरूरत है बारे में सोचना है न:
|-- workspace/
| \-- .metadata/
| |-- yourProjectOne/
| | \-- .git/
| | |-- .project
| | |-- src/
| | |-- ...
| |-- yourProjectTwo/
| | \-- .git/
| | |-- .project/
| | |-- src/
| | |-- ...
परियोजना विशिष्ट
आप चाहिए शायद हमेशा .project
फ़ाइल साझा करें और कभी भी .settings/
फ़ाइलें साझा करें। .classpath
आपके पर्यावरण पर निर्भर हो सकता है लेकिन मैं इसे साझा करने का सुझाव नहीं दूंगा, क्योंकि यह विवाद पैदा कर सकता है (उदाहरण के लिए यदि कोई उपयोगकर्ता ओपनजेडके का उपयोग करता है और दूसरा सूर्य-जेडीके का उपयोग करता है।.settings
में ग्रहण के लिए प्राथमिकताएं और सेटिंग्स शामिल हैं और बहुत कुछ बदलती है, इस प्रकार इसे साझा नहीं किया जाना चाहिए। अगर आप इसे गिट से क्लोन करने के बाद प्रोजेक्ट को सही तरीके से आयात करते हैं तो आपको कोई समस्या नहीं होगी।
eclipse documentation राज्यों .project
फाइल के बारे में निम्नलिखित:
इस फ़ाइल का उद्देश्य परियोजना स्वयं का वर्णन है, तो कि एक परियोजना है कि अप ज़िप किया गया है या एक सर्वर के लिए जारी किया गया है हो सकता है बनाने के लिए है सही ढंग से किसी अन्य कार्यक्षेत्र में पुनर्निर्मित।
और:
एक नई परियोजना एक स्थान है कि एक मौजूदा परियोजना विवरण फ़ाइल में बनाया गया है तो यह है कि वर्णन फ़ाइल की सामग्री परियोजना विवरण के रूप में सम्मानित किया जा होगा। एक अपवाद यह है कि फ़ाइल में प्रोजेक्ट नाम को अनदेखा कर दिया जाएगा यदि यह प्रोजेक्ट के नाम से मेल नहीं खाता है। यदि डिस्क पर वर्णन फ़ाइल अमान्य है, तो प्रोजेक्ट निर्माण विफल हो जाएगा।
मैं भी Maven का उपयोग करने के रूप में इस आप निर्भरता प्रबंधन के साथ समस्याओं का एक बहुत बचत होगी सुझाव है और .classpath
Maven
एक Maven परियोजना के साथ मुख्य अंतर यह है आप कर सकते हैं वह यह है कि परियोजना को मेवेन -> "मौजूदा मेवेन प्रोजेक्ट्स" के रूप में आयात करें और इस प्रकार केवल गिट में pom.xml और .project
फ़ाइल साझा करने की आवश्यकता है। ग्रहण तब आपके लिए .classpath, .settings/
फ़ाइलों को स्वचालित रूप से बनाएगा। इस प्रकार स्पष्ट रूप से आपको उन्हें साझा करने की आवश्यकता नहीं है। अगर pom.xml में कुछ बदलता है तो आप बस मेवेन -> "प्रोजेक्ट कॉन्फ़िगरेशन अपडेट करें" और मैवेन -> "निर्भरता अपडेट करें" चलाएं।
Maven
आप बिना.project
फ़ाइल और नहीं .settings/
फ़ोल्डर को साझा करना चाहिए। आप क्लासपाथ को साझा करने के लिए समझ सकते हैं लेकिन इससे ऊपर बताए गए संघर्षों का कारण बन सकता है। मैं सुझाव दूंगा कि इसे साझा न करें। -> "मौजूदा परियोजना कार्यस्थान से" ग्रहण .project
फ़ाइल का सम्मान लेकिन .classpath
और .settings/
फ़ाइलों का पुनर्निर्माण होगा
के बाद आप Git भंडार आप बस आयात का उपयोग कर सकते क्लोन है परियोजना आयात करने के लिए नीचे दी गई विधि का प्रयोग करें। आयात के बाद आपको ग्रहण से हाथ से क्लासपाथ को कॉन्फ़िगर करने की आवश्यकता होगी (और जब भी आपकी टीम किसी अन्य लाइब्रेरी का उपयोग करना चाहती है)।
यदि आप .project फ़ाइल साझा नहीं करते हैं, तो ग्रहण के साथ प्रोजेक्ट आयात करना संभव नहीं है। आपको पहले प्रोजेक्ट विज़ार्ड के साथ एक नई परियोजना बनाने की आवश्यकता होगी, और फिर आप "सामान्य-> फ़ाइल सिस्टम" आयात का चयन कर सकते हैं, यह सभी फ़ाइलों को आपके कार्यक्षेत्र में कॉपी करेगा। शायद यह नहीं है कि आप क्या चाहते हैं, क्योंकि इसका मतलब है कि आप कार्यक्षेत्र में गिट भंडार को क्लोन नहीं कर सकते हैं, आपको इसे कहीं और क्लोन करना होगा और फिर इसे वहां से आयात करना होगा। इसलिए आपको हमेशा .project फ़ाइल साझा करना चाहिए।
अगर आपको इस स्पष्टीकरण के लिए सुझाव हैं या आप इससे सहमत नहीं हैं तो कृपया एक प्रशंसा छोड़ दें। मुझे आशा है कि यह एक या दूसरे की मदद करेगा।
क्या मुझे यह समझने के लिए दिया गया है कि आप एक पूरे Mercurial भंडार में पूरे ग्रहण कार्यक्षेत्र को संग्रहीत कर रहे हैं? क्या आपने प्रत्येक प्रोजेक्ट को एक रिपॉजिटरी में संग्रहीत करने पर विचार किया है, फिर उन्हें छतरी भंडार के उप-स्रोतों के रूप में समूहीकृत करना है ताकि आप उन्हें एक साथ संस्करण कर सकें (हालांकि मुझे नहीं पता कि ग्रहण के लिए इसका कोई समर्थन है या नहीं)? –
यह एक प्लगइन आधारित उत्पाद है, और अलग-अलग परियोजनाएं प्रत्येक प्लगइन को परिभाषित करती हैं। सभी को एक साथ या समग्र उत्पाद की आवश्यकता है। इसलिए व्यक्तिगत परियोजनाएं पूरी तरह से पूरी तरह से हिस्सा हैं, यही कारण है कि हम पूरे ग्रहण कार्यक्षेत्र को एक ही भंडार में स्टोर करना चाहते हैं। –