2012-02-01 8 views
18

मुझे लगता है कि मुझे गिट की बहुत अच्छी समझ है, लेकिन जब रेपो कमांड की बात आती है, तो मैं हार जाता हूं। मैंने रेपो कमांड के बारे में पढ़ा है, लेकिन मुझे अभी भी यकीन नहीं है कि यह सबकुछ एक साथ कैसे जुड़ा हुआ है।एंड्रॉइड रेपो कमांड और स्विचिंग शाखाएं

मेरा सबसे बड़ा सवाल यह है कि क्या मैं अपनी वर्तमान शाखाओं को जिंजरब्रेड से आईसीएस और संभवतः वापस कर सकता हूं? मेरी समझ से

repo init -u https://android.googlesource.com/platform/manifest 

, इस मास्टर शाखा के साथ एक रेपो पैदा करेगा:

मैं आदेश को देखते हैं। मैं शाखा निर्दिष्ट करने के लिए चाहते हैं, तो मैं कर सकते हैं:

repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1 

डाउनलोड 8GB के बारे में है, मुझे विश्वास है, इसलिए मैं अपने रेपो उड़ाने की दूर अगर वे कोड का हिस्सा है करने के लिए नहीं करना चाहती। रिपो में शाखाओं को बदलने का कोई तरीका है?

उत्तर

41

यदि आप एक अलग शाखा के साथ दूसरी बार repo init चलाते हैं, तो आप बस repo sync कर सकते हैं और यह फिर से संपूर्ण स्रोत कोड डाउनलोड नहीं करेगा।

+0

https://groups.google.com/forum/#!topic/android-building/rtH5ZbJC7qU का संदर्भ लें, यह वही विषय है। – execve

4

रेपो-बी पैरामीटर .repo/manifests गिट भंडार की शाखा निर्दिष्ट करता है जिसे चेक आउट किया जाना चाहिए। इस भंडार में default.xml फ़ाइल परिभाषित करती है कि कौन सी शाखा अन्य गिट रिपोजिटरीज (प्रोजेक्ट) में से प्रत्येक पर होनी चाहिए।

ऐसा लगता है कि रेपो इस तरह से लिखा गया है कि यदि आप एक और मैनिफेस्ट शाखा को फिर से सिंक सिंक करते हैं तो यह फिर से नेटवर्क पर सभी कोड खींच देगा।

आप repo forall -c 'git checkout branch_name' चला सकते हैं जो आपके वर्तमान मैनिफेस्ट में घोषित सभी परियोजनाओं के लिए निर्दिष्ट शाखा को चेकआउट करेगा, लेकिन यदि जिंजरब्रेड और आईआईसी (जो हैं) के बीच परियोजनाओं को जोड़ा/हटाया गया है, तो आपको कोड नहीं मिलेगा इन परियोजनाओं के लिए।

.repo/manifests भंडार में गिट चेकआउट ब्रैनchnम चलाना, फिर रेपो सिंक चलाने से आप कुछ नेटवर्क ओवरहेड को सहेज सकते हैं।

अन्यथा, रेपो की सीमाओं के कारण, ऐसा करने का एकमात्र असली तरीका एओएसपी की दो कार्यशील प्रतियों को बनाए रखना है या फिर से सिंक करने के लिए तैयार होना है।

+2

मुझे एहसास है कि आपने इसे कुछ महीने पहले पोस्ट किया था, लेकिन फिर से डाउनलोड होने वाले स्रोत के बारे में हिस्सा अब सटीक नहीं है। – gparent

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