आप शायद submodules लिए देख रहे हैं:
submodules विदेशी खजाने स्रोत पेड़ की एक समर्पित उप-निर्देशिका के भीतर एम्बेड करने की अनुमति, हमेशा एक विशेष के लिए प्रतिबद्ध में इशारा किया।
एक महत्वपूर्ण शब्द है एम्बेडेड: Common.git का एक वास्तविक क्लोन अन्य परियोजनाओं में से प्रत्येक के अंदर एम्बेडेड किया जाएगा। यह आमतौर पर तब अच्छा होता है जब आप इसे अन्य प्रोजेक्ट्स के अंदर संशोधित नहीं कर रहे हैं, बस एक संस्करण का उपयोग करें, और उस संस्करण को मूल Common.git से अब और फिर अपडेट करें। आप कुछ इस तरह करते हैं:
# add Common.git as a submodule at the path "common" inside this repo
git submodule add /var/Common.git common
# initialize it, clone, and check out a copy
git submodule update --init
# commit the addition of the submodule
git commit
ध्यान दें कि submodule के लिए पथ अपने भंडार के लिए प्रतिबद्ध किया जा रहा है, ताकि आप एक सार्वजनिक रूप से उपलब्ध URL का उपयोग करना चाहिए। यदि आप इसे स्थानीय रूप से अनुकूलित करना चाहते हैं, तो आप git submodule init
चला सकते हैं, .git/config में url संपादित करें, और फिर git submodule update
चलाएं। यदि आपके पास और प्रश्न हैं, तो मैनपेज से परामर्श लें या एसओ खोजें; यहां बहुत सारे सबमिशन प्रश्न हैं।
यदि दूसरी तरफ आप प्रत्येक परियोजना के अंदर Common.git की सामग्री को संपादित करने जा रहे हैं, तो आप git-subtree का उपयोग करना चाहेंगे, जो कि गिट के उप-विलय विलय संकाय के आसपास एक दोस्ताना रैपर है। इससे आपको सामान्य परियोजनाओं की सामग्री को प्रत्येक परियोजनाओं के अंदर ट्रैक की गई सामग्री के रूप में माना जाएगा, जबकि अभी भी इसे बाहर करने में सक्षम होने और उन्हें सामान्य.git में विलय करने में सक्षम होना चाहिए, और परियोजनाओं में वापस Common.git में अपडेट मर्ज करें ।
https://git.wiki.kernel.org/index.php/GitSubmoduleTutorial –