2013-02-21 52 views
5

एंड्रॉइड कर्नेल में कुछ काम करने के बीच अंतर। मैं गिट से बहुत परिचित हूं, लेकिन रिपो के साथ असाधारण रूप से परिचित नहीं हूं, इसलिए मैंने निम्न दस्तावेज़ पढ़ा है: http://source.android.com/source/version-control.html। इसके बारे में मेरी समझ के साथ-साथ विषय शाखाओं के साथ प्रयोग करने के लिए, repo start BRANCH_NAMEgit checkout -b BRANCH_NAME जैसा ही है। क्या मैं अपनी समझ में सही हूं, या क्या कुछ सूक्ष्म, महत्वपूर्ण विवरण हैं जिन्हें मैं याद कर रहा हूं?रेपो स्टार्ट और गिट चेकआउट -बी

उत्तर

2

रेपो शुरू करने के लिए start.py source code को देखते हुए, मेरा मानना ​​है कि मुख्य अंतर यह है manifest files के प्रबंधन जो एंड्रॉयड परियोजनाओं में शामिल हैं में है।

मैनिफेस्ट में निर्दिष्ट संशोधन से शुरू होने वाली विकास की एक नई शाखा शुरू करता है।


Trevor Johns 'answer को जोड़ने के लिए, आप (जब आप repo start उपयोग नहीं कर रहे) "How do you make an existing Git branch track a remote branch?" जांच करने की आवश्यकता:

git checkout -b newBranch -t aosp/master 

कि दूरदराज के सेट और विलय (-t = "ट्रैक होगा ") नई शाखा से जुड़े विन्यास में।

एक साधारण git checkout -b कुछ भी सेट नहीं होता है, और

+0

प्रतिक्रिया के लिए धन्यवाद, VonC, मैं वहाँ लगा था 2 के बीच कुछ अलग होना। –

4

अंतर यह है कि repo start के अंदर अपनी शाखा के लिए सेट remote और merge गुण है (एक दूरस्थ रेपो के लिए किसी भी नदी के ऊपर शाखा पर नज़र रखने के बिना) एक विशुद्ध रूप से स्थानीय शाखा बनाने .git/config:

[branch "YOUR_BRANCH_HERE"] 
    remote = aosp 
    merge = master 

इन के बिना, रेपो जब आप repo upload बाद में चलाने कैसे आपके परिवर्तन अपलोड करने के लिए पता नहीं होगा, और यह के रूप में यदि अपने नए शाखा बस मौजूद नहीं है में कार्य करेगा।

(वहाँ भी आप --all साथ एक साथ रेपो में प्रत्येक परियोजना के लिए नई शाखा बनाने की सुविधा देता है कि वहाँ में कुछ तर्क है, लेकिन वह सिर्फ एक सुविधा बात है।)