2011-08-18 13 views
7

मैं गिट के लिए नया हूं। मैं एक बड़ी रिमोट रिपोजिटरी क्लोन करना चाहता हूं xyzcodebase कहता हूं। रेपो की संरचना यह है कि मेरे पास नीचे दिखाए गए विभिन्न कार्यात्मक क्षेत्रों के लिए src फ़ोल्डर हैं।चुनिंदा रूप से गिट रिपोजिटरी क्लोन कैसे करें

xyzcodebase 
| 
|__ Func area 1 
| 
|__ Func area 2 

मैं Functional area 2 पर काम इसलिए करते हुए क्लोनिंग मैं जो अपने समय की बहुत सारी बचत होगी Functional area 1 (बड़े आकार के) से कोड नहीं करना चाहती। इसलिए क्लोनिंग के बाद मेरे स्थानीय भंडार पर केवल Functional area 2 स्रोत कोड होगा।

क्या गिट भंडार के ऐसे चुनिंदा क्लोनिंग को पूरा करने का कोई तरीका है? आपकी मदद के

+0

इस धागे को देखें: https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository – DoronG

उत्तर

5

के लिए पहले से

धन्यवाद नहीं, कोई रास्ता नहीं है केवल एक निर्देशिका क्लोन करने के लिए है। गिट स्टोर एसवीएन के रूप में केवल उपट्रीज़ को स्टोर करने के बजाय पूरे भंडार में परिवर्तन के रूप में इतिहास संग्रहीत करता है।

यदि आपकी परियोजना में कई कार्यक्षमताएं हैं, तो हो सकता है कि इसे विभिन्न उप-परियोजनाओं में विभाजित करना बेहतर होगा, अलग-अलग भंडारों के साथ, और फिर मास्टर प्रोजेक्ट में अन्य रिपॉजिटरीज को सबोडोड्यूल के रूप में शामिल करना बेहतर होगा। लेकिन यह निर्भर करता है कि आपकी परियोजना कैसे व्यवस्थित की जाती है।

+0

आपके उत्तर के लिए धन्यवाद। यदि क्लोन नहीं है, तो क्या एक खाली गिट भंडार में केवल एक निर्देशिका लाने के लिए संभव है? –

+0

@ वेनम अभी भी नहीं, लेकिन आपको इसकी आवश्यकता नहीं होगी। एक बार जब आप पूरी भंडार प्राप्त कर लेते हैं, तो एक क्षेत्र या दूसरा लेना एक अपेक्षाकृत छोटा ऑपरेशन होगा। – meagar

+0

@ वामन वास्तव में, दुर्भाग्य से नहीं। 'क्लोन' 'गिट इनिट, गिट रिमोट एड, गिट फ़ेच' कहने का सिर्फ शानदार तरीका है, इसलिए आपको अभी भी पूरे भंडार को स्थानांतरित करने की प्रतीक्षा करनी है। आप भंडार की उथली प्रतिलिपि ('--depth' param) प्राप्त कर सकते हैं, लेकिन फिर पूर्ण इतिहास के बिना आप प्रतिबद्ध नहीं हो सकते हैं और रिमोट पर धक्का दे सकते हैं, इसलिए यह केवल तैनाती या कोड समीक्षा के लिए अच्छा है, विकास के लिए नहीं (जब तक आप भेज नहीं लेंगे आपके परिवर्तन जो किसी के पास पैच के रूप में हैं, जिनके पास पूर्ण भंडार है) – MBO

0

यह एक हैकी समाधान है जो विशेष मामलों में आपकी समस्या के साथ मदद कर सकता है। विशेष रूप से यदि आप केवल एक एकल फाइल में रुचि रखते हैं तो आप बस wget के माध्यम से सांत्वना (यूनिक्स में) से डाउनलोड कर सकता है: wget https://raw.githubusercontent.com/GITHUBUSER/REPOSITORY/master/file.ending

आप GitHub में यह नेविगेट करके विशिष्ट फ़ाइल के लिंक मिल और फिर पर क्लिक कर सकते हैं "कच्चा"।

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