संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
यह पेज Android ओपन सोर्स प्रोजेक्ट (AOSP) में कोड बदलाव सबमिट करने की पूरी प्रक्रिया के बारे में बताता है, जिसमें समीक्षा का अनुरोध करने और अपने बदलावों को ट्रैक
करने का तरीका भी शामिल है.
एओएसपी, Git का इस्तेमाल करने वाले प्रोजेक्ट के लिए Gerrit का इस्तेमाल करता है. यह वेब पर आधारित कोड रिव्यू सिस्टम है.
योगदान देने वाले लोगों के लाइसेंस के कानूनी समझौतों पर हस्ताक्षर करें
एओएसपी के लिए कोड में कोई भी बदलाव करने से पहले, आपको योगदान देने वाले के लाइसेंस और हेडर को पढ़ना होगा और इनमें से किसी एक कानूनी समझौते पर हस्ताक्षर करना होगा:
किसी कॉर्पोरेशन में काम करने वाले कर्मचारी के तौर पर, यह पक्का करें कि आपकी कंपनी ने कॉर्पोरेट कॉन्ट्रिब्यूटर के लाइसेंस के कानूनी समझौते पर हस्ताक्षर किए हों. इसमें, आपको यह अनुमति देनी होगी कि आपको अपनी ओर से योगदान देने की अनुमति है.
ब्रांच शुरू करें
आपको जो भी कोड बदलाव करना है उसके लिए, नीचे दिया गया तरीका अपनाएं:
काम के Git रिपॉज़िटरी में नई ब्रांच शुरू करें. कोई ब्रांच, ओरिजनल फ़ाइलों की कॉपी नहीं होती. यह किसी खास कॉपी के लिए पॉइंटर होता है, जिससे लोकल ब्रांच बनाने और उनके बीच आसानी से स्विच करने में मदद मिलती है. ब्रांच का इस्तेमाल करके, एक-दूसरे में हुए बदलावों की पहचान की जा सकती है. ब्रांच शुरू करने के लिए,
इस कमांड को चलाएं:
repo start BRANCH_NAME
एक ही डेटा स्टोर करने की जगह में, एक ही समय पर कई अलग-अलग ब्रांच शुरू की जा सकती हैं. BRANCH_NAME ब्रांच, आपके वर्कस्पेस के लिए स्थानीय है. इसे न ही Gerrit में या फ़ाइनल सोर्स ट्री में शामिल किया गया है.
आपके पास जिस प्रोजेक्ट का हिस्सा है उसके लिए भी ब्रांच अलग-अलग होती हैं. इसलिए, अगर एक ही बदलाव पर अलग-अलग प्रोजेक्ट की फ़ाइलें बदलनी हैं, तो आपको हर प्रोजेक्ट में एक ब्रांच की ज़रूरत होगी, जहां फ़ाइलें बदली जाती हैं.
(ज़रूरी नहीं) पुष्टि करें कि ब्रांच बनाई गई थी:
repo status .
आपको अपनी नई बनाई गई ब्रांच दिखेगी. उदाहरण के लिए:
project frameworks/native/ branch mynewbranch
बदलाव करें और उसकी जांच करें
बदलाव करने और उसकी जांच करने के लिए, यह तरीका अपनाएं:
यह पक्का करने के लिए कि आप सबसे नए कोड बेस के साथ काम कर रहे हैं, पूरे कोड बेस को सिंक करें:
जिस कोड को बदलना है उसे ढूंढें. कोड ढूंढने के लिए, Android Code Search का इस्तेमाल करें. एओएसपी सोर्स कोड को देखने के लिए, Android कोड सर्च का इस्तेमाल किया जा सकता है. यह ठीक वैसा ही है जैसा यह कोड आपके इस्तेमाल के समय तय किया जाता है. ज़्यादा जानकारी के लिए, कोड सर्च का इस्तेमाल शुरू करना देखें.
Android कोड सर्च में, main की ब्रांच के सभी कोड देखने के लिए, https://cs.android.com/android/platform/superproject/main पर जाएं.
सोर्स फ़ाइलों में बदलाव करें या उन्हें जोड़ें. किए गए किसी भी बदलाव के लिए:
एओएसपी के कुछ हिस्से, Kotlin (.kt) में लिखे जाते हैं. प्लैटफ़ॉर्म के उन एरिया में Kotlin का इस्तेमाल किया जा सकता है जो पहले से ही Kotlin में हैं. Android में Kotlin के बारे में ज़्यादा जानकारी के लिए, Android डेवलपर Kotlin की स्टाइल गाइड और Kotlin-Java इंटरऑप गाइड देखें.
Kotlin के बारे में ज़्यादा जानकारी पाने के लिए, Kotlin लैंग्वेज की साइट देखें.
एपीआई लिखते समय, Android API के दिशा-निर्देशों का पालन करें.
Android के एपीआई से जुड़े फ़ैसले लेने की वजह जानने के लिए, इन दिशा-निर्देशों का पालन करें.
प्लैटफ़ॉर्म एपीआई को जोड़ने और उनमें बदलाव करने की पुष्टि, Metalava की मदद से की जाती है.
commit, Git में रिविज़न कंट्रोल की बुनियादी यूनिट है. इसमें पूरे प्रोजेक्ट के लिए डायरेक्ट्री के स्ट्रक्चर और फ़ाइल के कॉन्टेंट का एक स्नैपशॉट होता है.
बदलाव करने के लिए यह तरीका अपनाएं:
डिफ़ॉल्ट रूप से, Git रजिस्टर करता है, लेकिन आपके किए गए बदलावों को ट्रैक नहीं करता. Git को अपने बदलावों को ट्रैक करने का निर्देश देने के लिए, आपको उन बदलावों को किसी कमिट में शामिल करने के लिए मार्क या स्टेज करना होगा. बदलाव करने के लिए इस निर्देश को चलाएं:
git add -A
यह निर्देश, फ़ाइलों में किए गए बदलावों को ट्रैक करता है.
फ़ाइलों को स्टेजिंग क्षेत्र में लें और उन्हें अपने स्थानीय डेटाबेस में सेव करें या सेव करें:
git commit -s
डिफ़ॉल्ट रूप से, एक टेक्स्ट एडिटर खुल जाता है और आपको एक तय मैसेज
डालने के लिए कहा जाता है.
इस फ़ॉर्मैट में अपना मैसेज दें:
लाइन 1: हेडलाइन. बदलाव के बारे में एक लाइन में खास जानकारी दें (ज़्यादा से ज़्यादा 50 वर्ण). आपने जिस जगह में बदलाव किया है उसकी जानकारी देने के लिए, प्रीफ़िक्स का इस्तेमाल करें. इसके बाद, इस कमेंट में किए गए बदलाव की जानकारी दें, जैसे कि यूज़र इंटरफ़ेस में किए गए बदलाव के बारे में नीचे दिया गया उदाहरण:
ui: Removes deprecated widget
पंक्ति 2: खाली पंक्ति. एक खाली लाइन के साथ हेडलाइन का पालन करें.
लाइन 3: मुख्य हिस्सा. ज़्यादा से ज़्यादा 72 वर्णों में जानकारी दें. बताएं कि बदलाव से किस समस्या का समाधान हुआ और कैसे. भले ही, मुख्य हिस्से के तौर पर बदलाव करना ज़रूरी नहीं है, लेकिन इससे उन लोगों को मदद मिलती है जिन्हें बदलाव के बारे में दोबारा बताने की ज़रूरत है.
किसी भी मान्य अनुमान या बैकग्राउंड की जानकारी के बारे में एक संक्षेप में जानकारी देना न भूलें.
ऐसा करना तब ज़रूरी हो सकता है, जब योगदान देने वाले दूसरे लोग इस सुविधा पर काम करें.
एक यूनीक बदलाव आईडी और repo init के दौरान दिया गया नाम और ईमेल पता, आपके तय किए गए मैसेज में अपने-आप जोड़ दिए जाते हैं.
बदलाव को समीक्षा के लिए अपलोड करें
अपने व्यक्तिगत Git इतिहास में बदलाव करने के बाद, उसे Gerrit पर अपलोड करें:
अपने सभी प्रोजेक्ट में किए गए सभी कमिट को अपलोड करने के लिए, यह कमांड चलाएं:
repo upload
सभी प्रोजेक्ट के सभी बदलाव, अपलोड में शामिल कर लिए जाते हैं.
देखें
आपको हुक स्क्रिप्ट चलाने के लिए कहा जाएगा.
a और फिर Enter दबाएं.
आपसे अपलोड की अनुमति मांगी जाएगी:
Upload project frameworks/native/ to remote branch main:
branch BRANCH_NAME ( 1 commit, Wed Aug 7 09:32:33 2019 -0700):
ff46b36d android codelab change
to https://android-review.googlesource.com/ (y/N)?
अपलोड को मंज़ूरी देने के लिए, y और फिर Enter दबाएं.
आपको remote: SUCCESS के जैसा एक मैसेज मिलेगा.
समीक्षा का अनुरोध करें
अपलोड हो जाने के बाद, Repo आपको Gerrit में अपने बदलावों का एक लिंक देता है. समीक्षा सर्वर पर अपने बदलावों को देखने, टिप्पणियां जोड़ने या बदलाव के लिए खास समीक्षकों से अनुरोध करने के लिए, इस लिंक पर क्लिक करें. कोड में किए जाने वाले सभी बदलावों की समीक्षा, सही कोड मालिकों के पास होनी चाहिए. समीक्षा का अनुरोध करने के लिए:
Gerrit में, SUGGEST OWNER पर क्लिक करें:
पहला डायग्राम. Genrit में मालिकों के सुझाव दें लिंक.
समीक्षक वाला डायलॉग बॉक्स दिखेगा. इस डायलॉग बॉक्स में उन कोड मालिकों की सूची होती है जो आपके
बदलाव की समीक्षा कर सकते हैं.
किसी कोड मालिक को अपनी समीक्षा में जोड़ने के लिए, उसके नाम पर क्लिक करें.
भेजें बटन चालू हो गया है.
(ज़रूरी नहीं) ऐसे किसी भी व्यक्ति का ईमेल पता लिखें जिसे आपको अपने बदलाव की समीक्षा करनी है.
(ज़रूरी नहीं) अनुमतियां मिलने के बाद, बदलाव को अपने-आप सबमिट करने के लिए, अपने-आप सबमिट होने की सुविधा के आगे मौजूद +1 पर क्लिक करें. अगर इस बटन पर क्लिक नहीं किया जाता है, तो Google के किसी कर्मचारी को
आपका बदलाव सबमिट करना होगा.
बदलाव को समीक्षा के लिए भेजने के लिए, भेजें पर क्लिक करें.
कोड के मालिक, कोड में किए गए आपके बदलावों की समीक्षा करते हैं. साथ ही, इन बदलावों को ठीक करने या इन्हें स्वीकार करने के लिए, आपको सुझाव देते हैं.
बदलाव की स्थिति तय करना
आपके किए गए बदलाव में शामिल फ़ाइलों की स्थिति तय करने के लिए, बदली गई फ़ाइलों के बगल में दिए गए आइकॉन देखें:
done (चेकमार्क
आइकॉन): कोड के मालिक ने मंज़ूरी दी है
clear (क्रॉस आइकॉन):
कोड के मालिक ने मंज़ूरी नहीं दी है
access_time (घड़ी का आइकॉन): कोड के मालिक की मंज़ूरी बाकी है
यहां दिए गए डायग्राम में, बदलाव वाली फ़ाइलों पर लागू होने वाले इन स्टेटस आइकॉन को दिखाया गया है:
दूसरा डायग्राम. कोड के मालिक की अनुमति दिखाने वाले आइकॉन वाली फ़ाइलों का उदाहरण.
सुझाव, शिकायत या राय पर कार्रवाई करें और मौजूदा बदलाव को अपलोड करें
अगर कोई समीक्षक आपके अपडेट में बदलाव करने का अनुरोध करता है, तो आपके पास Git में की गई अपनी प्रतिबद्धता में बदलाव करने का विकल्प होता है. इससे, उस बदलाव पर एक नया पैचसेट बन जाएगा.
सुझाव, शिकायत या राय का समाधान करने और अपने बदलाव में बदलाव करने के लिए:
जब आप संशोधित बदलाव को अपलोड करते हैं, तो यह Gerrit पर और आपके
स्थानीय Git इतिहास, दोनों में मूल बदलाव को बदल देता है.
सिंक से जुड़े विवादों का समाधान करना
अगर सोर्स ट्री में ऐसे अन्य बदलाव सबमिट किए जाते हैं जो आपके बदलावों से मेल नहीं खाते, तो
आपको एक मैसेज मिलेगा कि आपके कॉन्फ़्लिक्ट हैं. विवादों को सुलझाने के लिए:
पक्का करें कि नए कोड का इस्तेमाल किया जा रहा हो:
repo sync .
repo sync निर्देश, सोर्स सर्वर से अपडेट फ़ेच करता है. इसके बाद, आपके HEAD को नए रिमोट HEAD पर अपने-आप रीबेस कर देता है.
अगर अपने-आप रीबेस की प्रोसेस पूरी नहीं हो पाती है, तो मैन्युअल तरीके से रीबेस करें:
repo rebase .
एक बनाने से जुड़े विवादों का समाधान करें. अगर आपके पास मर्ज से जुड़े विवादों को हल करने का कोई पसंदीदा तरीका नहीं है, तो फ़ाइलों के बीच टकरावों को मैन्युअल तरीके से ठीक करने के लिए, git mergetool का इस्तेमाल किया जा सकता है.
अलग-अलग फ़ाइलों को ठीक करने के बाद, नए कमिट को लागू करने के लिए इस कमांड को चलाएं:
git rebase --continue
बदलाव सबमिट करें
जब समीक्षा और पुष्टि की प्रक्रिया पूरी हो जाती है,
तो Google समीक्षक को आपके लिए कोड सबमिट करना होगा. दूसरे उपयोगकर्ता, अपने लोकल क्लाइंट को अपडेट करने के लिए, repo sync का इस्तेमाल कर सकते हैं.
सबमिट किए गए फ़ॉर्म को मर्ज करने के बाद, Android लगातार इंटिग्रेशन डैशबोर्ड पर जाकर, यह मॉनिटर किया जा सकता है कि आपके सबमिशन, ट्री में कब इंटिग्रेट हुए हैं.
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2024-06-27 (UTC) को अपडेट किया गया.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"वह जानकारी मौजूद नहीं है जो मुझे चाहिए"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"बहुत मुश्किल है / बहुत सारे चरण हैं"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"पुराना"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"अनुवाद से जुड़ी समस्या"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"सैंपल / कोड से जुड़ी समस्या"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"अन्य"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"समझने में आसान है"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"मेरी समस्या हल हो गई"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"अन्य"
}]
{
"last_modified": "आखिरी बार 2024-06-27 (UTC) को अपडेट किया गया.",
"state": ""
}