Android कोड के साथ काम करने के लिए Git (एक ओपन सोर्स) का इस्तेमाल करना ज़रूरी है वर्शन कंट्रोल सिस्टम) और Repo (Google की ओर से बनाया गया डेटा संग्रह स्थान) भी शामिल हैं जो Git के साथ काम करते हैं. सोर्स कंट्रोल टूल देखें के बीच संबंध की जानकारी पाने के लिए Repo और Git और हर टूल के लिए सहायक दस्तावेज़ के लिंक.
फ़्लो
Android डेवलपमेंट में ये बेसिक वर्कफ़्लो शामिल हैं:
repo start
का इस्तेमाल करके, विषय की नई ब्रांच शुरू करें.- फ़ाइलों में बदलाव करें.
git add
का इस्तेमाल करके स्टेज बदला जाता है.git commit
का इस्तेमाल करके बदलाव करें.repo upload
का इस्तेमाल करके, समीक्षा सर्वर पर बदलाव अपलोड करें.
Tasks
Android कोड डेटा स्टोर करने की जगहों में Git और Repo के साथ काम करने में सामान्य कामों को पूरा करना.
निर्देश | ब्यौरा |
---|---|
repo init |
नया क्लाइंट शुरू करता है. |
repo sync |
क्लाइंट को डेटा स्टोर करने की जगहों से सिंक करता है. |
repo start |
नई ब्रांच शुरू करता है. |
repo status |
मौजूदा ब्रांच की स्थिति दिखाता है. |
repo upload |
समीक्षा सर्वर पर बदलाव अपलोड करता है. |
git add |
फ़ाइलों को स्टेज करता है. |
git commit |
स्टेज की गई फ़ाइलें अपलोड करता है. |
git branch |
मौजूदा ब्रांच दिखाता है. |
git branch [branch] |
विषय की नई ब्रांच बनाता है. |
git checkout [branch] |
HEAD को बताई गई ब्रांच पर स्विच करता है. |
git merge [branch] |
यह [branch] को मौजूदा ब्रांच में मर्ज करता है. |
git diff |
पहले से किए गए बदलावों का अंतर दिखाता है. |
git diff --cached |
पहले से किए गए बदलावों का अंतर दिखाता है. |
git log |
मौजूदा ब्रांच का इतिहास दिखाता है. |
git log m/[codeline].. |
पुश नहीं किए गए कमिट को दिखाता है. |
रेपो का इस्तेमाल करके सोर्स डाउनलोड करने से जुड़ी जानकारी के लिए, यहां देखें सोर्स डाउनलोड करना और रिपो कमांड का रेफ़रंस.
क्लाइंट सिंक करना
सभी उपलब्ध प्रोजेक्ट की फ़ाइलें सिंक करने के लिए:
repo sync
चुने गए प्रोजेक्ट की फ़ाइलें सिंक करने के लिए:
repo sync PROJECT0 PROJECT1 ... PROJECTN
विषय की ब्रांच बनाना
शुरू करने पर, अपने आस-पास के माहौल में किसी विषय की ब्रांच शुरू करें बदलाव, जैसे कि जब आप किसी बग या नई सुविधा पर काम शुरू करें. किसी विषय की ब्रांच मूल फ़ाइलों की कॉपी नहीं है; यह पॉइंटर है खास तौर पर पुष्टि करें, जिससे लोकल ब्रांच बनाने और एक-दूसरे के बीच स्विच करने की सुविधा मिलती है आसान तरीके से डिज़ाइन किया गया है. ब्रांच का इस्तेमाल करके, अन्य लोगों के साथ मिलकर काम किया जा सकता है. विषय का इस्तेमाल करने से जुड़े किसी दिलचस्प लेख के लिए शाखाएं, अलग करना विषय की शाखाएं.
Repo का इस्तेमाल करके, किसी विषय की ब्रांच शुरू करने के लिए, प्रोजेक्ट पर जाएं और यह काम करें:
repo start BRANCH_NAME .
ट्रेलिंग पीरियड ( .
) से, मौजूदा प्रोजेक्ट में चल रहे प्रोजेक्ट के बारे में पता चलता है
डायरेक्ट्री.
नई ब्रांच के बनाए जाने की पुष्टि करने के लिए:
repo status .
विषय की शाखाओं का इस्तेमाल करना
ब्रांच को किसी प्रोजेक्ट को असाइन करने के लिए:
repo start BRANCH_NAME PROJECT_NAME
सभी प्रोजेक्ट की सूची के लिए, इसे देखें android.googlesource.com पर जाएं. अगर आपने प्रोजेक्ट डायरेक्ट्री पर पहले ही नेविगेट किया है, तो किसी पीरियड का इस्तेमाल करके वर्तमान प्रोजेक्ट का प्रतिनिधित्व करते हैं.
अपने स्थानीय काम के माहौल में किसी दूसरी ब्रांच पर स्विच करने के लिए:
git checkout BRANCH_NAME
मौजूदा ब्रांच की सूची देखने के लिए:
git branch
या
repo branches
दोनों कमांड मौजूदा शाखाओं की सूची को वर्तमान शाखा के बाद एक तारांकन (*).
फ़ाइलों को स्टेज करना
डिफ़ॉल्ट रूप से, Git आपके प्रोजेक्ट में किए जाने वाले बदलावों का ध्यान रखता है, लेकिन उन्हें ट्रैक नहीं करता. Git को यह बताने के लिए कि आपके बदलाव सुरक्षित रहें, आपको उन बदलावों को मार्क या स्टेज करना होगा कमिट को शामिल करने के लिए किए गए बदलाव.
चरणों में किए जाने वाले बदलावों के लिए:
git add
यह निर्देश, प्रोजेक्ट में मौजूद फ़ाइलों या डायरेक्ट्री के लिए तर्क स्वीकार करता है
डायरेक्ट्री. नाम होने के बावजूद, git add
न सिर्फ़
Git रिपॉज़िटरी; इसका इस्तेमाल फ़ाइल में बदलाव करने और
मिटाता है.
क्लाइंट की स्थिति देखना
फ़ाइलों की स्थिति को सूची में जोड़ने के लिए:
repo status
ऐसे बदलाव देखने के लिए जिनकी पुष्टि नहीं की गई है:
repo diff
किए गए बदलाव देखने के लिए (ऐसे बदलाव जिनके लिए मार्क किए गए हैं
कमिट करें), पक्का करें कि आप प्रोजेक्ट डायरेक्ट्री में हैं, फिर cached
आर्ग्युमेंट के साथ git
diff
चलाएं:
cd ~/WORKING_DIRECTORY/PROJECT
git diff --cached
बदलाव लागू करना
commit, Git में रिविज़न कंट्रोल की बुनियादी इकाई है. इसमें यह शामिल होता है पूरे प्रोजेक्ट के लिए डायरेक्ट्री के स्ट्रक्चर और फ़ाइल के कॉन्टेंट का स्नैपशॉट. Git में कमिट बनाने के लिए इस निर्देश का इस्तेमाल करें:
git commit
कमिट मैसेज के बारे में पूछे जाने पर, एओएसपी को सबमिट किए गए बदलाव. अगर आपने फ़ाइल के लिए जो मैसेज सेव नहीं किया है वह सही नहीं है.
Gerrit में बदलाव अपलोड किए जा रहे हैं
सबसे नए वर्शन पर अपडेट करें, फिर बदलाव अपलोड करें:
repo sync
repo upload
ये निर्देश आपके किए गए बदलावों की सूची दिखाते हैं और आपको
रिव्यू सर्वर पर अपलोड करने के लिए ब्रांच चुनें. यदि
ब्रांच में, आपको एक सामान्य y/n
प्रॉम्प्ट दिखता है.
सिंक करने से जुड़े विवादों को हल करना
अगर repo sync
निर्देश, सिंक करने के विरोध दिखाता है, तो:
- अनमर्ज की गई फ़ाइलें देखें (स्टेटस कोड = U).
- ज़रूरत के मुताबिक, विरोधी इलाकों में बदलाव करें.
- सही प्रोजेक्ट डायरेक्ट्री में बदलें. जिन लोगों पर असर पड़ा है उनकी जानकारी जोड़ें और खातों को ट्रांसफ़र करें
फ़ाइलों को फिर से अपलोड करें, तो बदलावों को फिर से लागू करें:
git add .
git commit
git rebase --continue
- रीबेस पूरा होने के बाद, पूरा सिंक फिर से शुरू करें:
repo sync PROJECT0 PROJECT1 ... PROJECTN
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
क्लाइंट का स्टोरेज खाली किया जा रहा है
बदलावों को Gerrit में मर्ज करने के बाद, अपनी लोकल वर्किंग डायरेक्ट्री को अपडेट करें. इसके बाद,
विषय की पुरानी शाखाओं को सुरक्षित रूप से हटाने के लिए repo prune
:
repo sync
repo prune
क्लाइंट की जानकारी मिटाई जा रही है
आपके क्लाइंट में राज्य की सारी जानकारी सेव होती है, इसलिए आपको सिर्फ़ अपने फ़ाइल सिस्टम से डायरेक्ट्री मिटाएं:
rm -rf WORKING_DIRECTORY
किसी क्लाइंट को मिटाने से, वे सभी बदलाव हमेशा के लिए मिट जाते हैं जो आपने नहीं किए हैं समीक्षा के लिए अपलोड किया गया.