2013-01-01 12 views
6

आईओएस अनुप्रयोगों को विकसित करते समय, मैं अक्सर गिटहब से तीसरे पक्ष के कोड का उपयोग करता हूं और अपने द्वारा बनाए गए पुन: प्रयोज्य वर्गों का उपयोग करता हूं। मैं जो कर रहा हूं वह स्रोत कोड को ~/Documents में किसी विशिष्ट फ़ोल्डर में क्लोन कर रहा है, जहां मैंने सभी लाइब्रेरी कोड रखा था। फिर मैं स्रोत फ़ाइलों को एक्सकोड प्रोजेक्ट और कोड में खींच दूंगा, स्थानीय गिट भंडार के साथ अपने स्वयं के स्रोत कोड में परिवर्तनों का ट्रैक रखेगा। अब तक बहुत अच्छा है, लेकिन मुझे हाल ही में एक गंभीर समस्या मिली: मैं अपने एक्सकोड प्रोजेक्ट के पुराने संस्करण पर वापस जाना चाहता था और पाया कि यह अब संकलित नहीं हुआ क्योंकि यह तीसरे पक्ष के कोड का पुराना संस्करण इस्तेमाल करता था, और कहीं भी नहीं था मैंने संग्रहीत किया कि किस संस्करण का इस्तेमाल किया गया!थर्ड-पार्टी कोड और गिट

यह समस्या आमतौर पर हल कैसे होती है? मैंने गिट सबमिड्यूल में संक्षेप में देखा है, लेकिन मुझे यकीन नहीं है कि यह सही बात है या नहीं। मैंने संक्षेप में कोकोपोड्स के बारे में भी पढ़ा, लेकिन क्या मैं इसे पुस्तकालयों के लिए भी इस्तेमाल कर सकता हूं जिसे मैंने स्वयं बनाया है?

उत्तर

7

यह वास्तव में git submodule के साथ हल किया जाता है: विचार के संदर्भ के लिए एक सटीक प्रतिबद्ध प्रत्येक submodule के लिए आप की जरूरत है, तो आप इतिहास में वापस जाने के लिए अनुमति देता है, और सुसंगत सेट खोजने के लिए प्रतिबद्ध की आप अपनी परियोजना के लिए की जरूरत है संकलित करने के लिए
(this answer में अधिक)

हालांकि, अपने काम वृक्ष संरचना में कुछ बदलाव करने की आवश्यकता है कि, क्योंकि प्रत्येक submodule माता पिता रेपो जो अपनी परियोजना का प्रतिनिधित्व करता है की एक उप-निर्देशिका बन जाएगा।

ध्यान दें कि यह (गीट सबमिशन) स्रोत निर्भरताओं के लिए उपयोगी है।
कोकोपोड्स उन बाइनरी बनाने के लिए और अधिक होंगे जो आप निर्भर करते हैं (बाइनरी निर्भरता)।

संबंधित मुद्दे