के साथ गिट प्रोजेक्ट्स हमारे पास उन कार्यों में कई परियोजनाएं हैं जो उनके अधिकांश कोड/कॉन्फ़िगरेशन फ़ाइलों को साझा करती हैं। हमारे द्वारा उपयोग किए जाने वाले ढांचे में कुछ निर्देशिका और फ़ाइल निर्भरताएं हैं जो हमें सीमित करती हैं कि हम आम कोड को कितना अलग कर सकते हैं। उदाहरण के लिए, 'आम', 'PROJECTA', और 'projectB' के बीच हम हो सकता है:सामान्य कोड
/PROJECTA
- /shared_dir1
- common1
- fileA1
- fileA2
- /common_dir2
- common2
- /dir3
- fileA3
- common3
- fileA4
/projectB
- /shared_dir1
- common1
- fileB1
- /common_dir2
- common2
- /dir3
- fileB2
- fileB3
- common3
- fileB4
- fileB5
हम वर्तमान में 3 Git परियोजनाओं के साथ इस का प्रबंधन: 'आम', 'PROJECTA', और 'projectB', के साथ आम फाइलों में 'आम' बाहर अलग कर दिया और अपनी विशिष्ट परियोजनाओं में परियोजना विशिष्ट फाइलें। 'प्रोजेक्ट ए' और 'प्रोजेक्टबी' में सभी सामान्य डीआईआर और प्रत्येक साझा डीआईआर के तहत सभी सामान्य फाइलों के लिए प्रविष्टियों के साथ एक .gitignore है। उस परियोजना में एक स्क्रिप्ट प्रतियां 'आम' है जिसमें आप काम करना चाहते हैं और विकास वहां किया जाता है। एक बार परिवर्तन हो जाने के बाद, एक और स्क्रिप्ट सभी आम डीआईआर और आम फाइलों को 'आम' में वापस कॉपी करती है। 'सामान्य' और परियोजना में परिवर्तन को 'गिट स्थिति' के माध्यम से देखा जा सकता है।
यह स्पष्ट रूप से 'सामान्य' के बीच प्रतिलिपि बनाने के अपने सिरदर्द के साथ आता है, रखने के लिए सटीक, और 'प्रोजेक्ट ए' और 'प्रोजेक्टबी' के भीतर शाखाओं को स्विच करना। चूंकि हम 'प्रोजेक्टसी-एफ' की योजना बनाते हैं, हालांकि, यह दृष्टिकोण अच्छा लगता है क्योंकि हम एन परियोजनाओं में आम परिवर्तनों को विलय करने से बच सकते हैं।
इस प्रकार की संरचना को बेहतर तरीके से बनाए रखने के तरीके के बारे में सलाह चाहते हैं।उपमहाद्वीप अलगाव की कमी के कारण अवांछित प्रतीत होता है, जब तक कि हम उनमें से बड़ी संख्या में नहीं करते। मैंने symlinks का उपयोग करके कुछ आशाजनक विकल्प देखे हैं, लेकिन यह इसके मुद्दों के साथ भी आता है। किसी भी सलाह की सराहना की जाएगी।
क्या तुमने कभी अपनी परियोजना प्रबंधन करने के लिए एक तरीका खोज निकाला है:
यहां पर कुछ लिंक कर रहे हैं? – maguirre