2010-01-14 4 views
5

यहां दृश्य है: मैं वर्तमान में अपने स्वयं के ढांचे और ग्राहक की वेबसाइट पर काम कर रहा हूं।एक फ़ोल्डर में दो गीट रेपो का उपयोग

. 
.. 
_application 
_framework 
_public 

मैं _framework/* _public/index.php और संरचना _application GitHub पर (खाली _controllers _models और _views के लिए फ़ोल्डरों) के साथ एक रेपो करना चाहते हैं: यहाँ संरचना है। इसके अलावा मैं एक स्थानीय रूप से एक स्थानीय रेपो रखना चाहता हूं।

मुझे समझ में आया कि गिट-मॉड्यूल के साथ मैं यह कर सकता था, लेकिन कुछ ट्यूटोरियल देखने के बाद भी मुझे ऐसा करने का तरीका समझ में नहीं आया।

क्या कोई इसे मेरे लिए थोड़ा और समझा सकता है? आपका बहुत बहुत धन्यवाद!

+0

यहां मैंने जो किया है: मैंने अपनी ढांचे की सामग्री के साथ एक निर्देशिका की है। मैंने इसमें एक गिट रेपो किया था। और फिर मैंने अपने ग्राहक के प्रोजेक्ट के लिए एक और निर्देशिका बनाई। मैंने इसमें एक रेपो बनाया और मेरे जीथ्यूब के ढांचे के रेपो को क्लोन किया। और जब से मैंने ऐसा किया, मैं अपने ढांचे पर सामान को ओवरराइट किए बिना सामान कर सकता हूं।और जब मैं सीधे अपने ढांचे में परिवर्तन करता हूं तो मैं उन्हें प्रतिबद्ध करता हूं और उन्हें धक्का देता हूं और मैं उन्हें अपनी परियोजना की निर्देशिका से खींच सकता हूं! मुझे लगता है कि यह एक अच्छा विचार है :) – TomShreds

+0

आपका शीर्षक थोड़ा अस्पष्ट है। यह मुझे विश्वास दिलाता है कि आप एक ही फ़ोल्डर में दो गिट रेपो का उपयोग करना चाहते थे, लेकिन आपने दो अलग-अलग सबफ़ोल्डर में दो गिट रेपो का उपयोग किया था। मैं वास्तव में जानना चाहता हूं कि एक ही फ़ोल्डर में अलग-अलग फ़ाइलों को ट्रैक करने के लिए दो अलग गिट रेपो का उपयोग किया जा सकता है या नहीं। – Chad

+1

@ चाड, हाँ वे कर सकते हैं: मैंने एक स्क्रिप्ट बनाई है जो केवल यही करती है: https://github.com/capr/multigit – cap

उत्तर

7

ऐसा लगता है कि आप एक प्रति रेपो प्रति संरचना को परिभाषित कर सकते हैं, और submodules के माध्यम से उन्हें एक सुपर-प्रोजेक्ट में जोड़ सकते हैं।

submodules की प्रकृति पर कुछ विवरण के लिए this question देखें।

निकालें:

एक submodule आप एक component-based approach विकास, जहां मुख्य परियोजना केवल अन्य घटकों के विशिष्ट प्रतिबद्ध (यहाँ "अन्य Git संग्रह उप मॉड्यूल के रूप में घोषित") को संदर्भित करता है करने के लिए सक्षम बनाता है।

एक सबमिशन एक अन्य गिट भंडार के लिए एक मार्कर (प्रतिबद्ध) है जो मुख्य परियोजना विकास चक्र से बंधे नहीं है: यह ("अन्य" गिट रेपो) स्वतंत्र रूप से विकसित हो सकता है। यह उस अन्य रेपो से चुनने के लिए मुख्य परियोजना पर निर्भर करता है जो इसे चाहिए।

हालांकि, क्या आप सुविधा से बाहर होना चाहते हैं, सीधे अपने मुख्य प्रोजेक्ट से उन submodules में से एक को संशोधित करना चाहते हैं, गिट आपको ऐसा करने की अनुमति देता है, बशर्ते आप पहले उन सबमिशन संशोधनों को अपने मूल गिट रेपो में प्रकाशित करें, और फिर अपना प्रतिबद्ध करें मुख्य परियोजना ने कहा कि सबमिशन के एक नए संस्करण का जिक्र है।

लेकिन मुख्य विचार रहता है:

  • अपने स्वयं के जीवन चक्र है
  • टैग के अपने स्वयं के सेट है
  • अपने स्वयं के विकास

की सूची है: जो विशिष्ट घटकों को संदर्भित विशिष्ट मुख्य कार्य जो आप अपने मुख्य प्रोजेक्ट में संदर्भित कर रहे हैं, आपके configuration परिभाषित करता है (यह कॉन्फ़िगरेशन मैनाग है ement सब मात्र Version Control System सहित के बारे में,)


तो अगर आप वास्तव में दो संरचना जो स्वतंत्र रूप से एक-दूसरे को विकसित कर सकते हैं, submodules एक अच्छा फिट हो रहा है।

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