पुल अनुरोध क्या हैं?

पूरा किया

हम शुरू करते हैं:

  • अनुरोधों को खींचने के लिए शाखाओं और उनके महत्व की समीक्षा करना।
  • परिभाषित करना कि पुल अनुरोध क्या है।
  • पुल अनुरोध बनाना, पुल अनुरोध स्थितियों की समीक्षा करना और पुल अनुरोध मर्ज करना सीखना।

शाखाएँ

सबसे पहले, आइए परिभाषित करें कि शाखाएं क्या हैं, वे डेवलपर्स के लिए महत्वपूर्ण क्यों हैं, और वे पुल अनुरोधों से कैसे संबंधित हैं।

शाखाएँ अलग-थलग कार्यक्षेत्र हैं जहाँ आप रिपॉजिटरी में दूसरों को प्रभावित किए बिना अपना काम विकसित कर सकते हैं। वे आपको सुविधाओं को विकसित करने, बग को ठीक करने और अपने भंडार के निहित क्षेत्र में नए विचारों के साथ सुरक्षित रूप से प्रयोग करने की अनुमति देते हैं।

स्वतंत्र शाखाओं पर काम करने वाले डेवलपर्स आधुनिक सॉफ्टवेयर विकास में एक आम अवधारणा है। अपनी स्वयं की शाखा होने से, एक डेवलपर कोई भी बदलाव कर सकता है, जिसे कमिटकहा जाता है, इस बारे में चिंता किए बिना कि उनकी कमिट अपनी शाखाओं पर काम करने वाले अन्य डेवलपर्स को कैसे प्रभावित करती है।

शाखाओं का विलय

हालांकि प्रत्येक डेवलपर का एक अलग शाखा पर काम करना व्यक्तिगत उत्पादकता के लिए बहुत अच्छा है, यह एक नई चुनौती खोलता है। कुछ बिंदु पर, प्रत्येक डेवलपर की शाखा को विलय करने की आवश्यकता होती है एक सामान्य शाखा में विलय किया जाता है, जैसे main। जैसे-जैसे परियोजनाएं बढ़ती हैं, ऐसे कई विलय हो सकते हैं जिन्हें होने की आवश्यकता होती है, और प्रत्येक मर्ज को ट्रैक करना और समीक्षा करना तेजी से महत्वपूर्ण हो जाता है। एक परियोजना में कई परिवर्तनों का ट्रैक रखने की आवश्यकता है, जहां पुल अनुरोध आते हैं।

पुल अनुरोध क्या है?

एक पुल अनुरोध शाखा परिवर्तनों को दस्तावेज करने और संवाद करने का एक तरीका है कि डेवलपर की शाखा से परिवर्तन आधार (मुख्य) शाखा में विलय करने के लिए तैयार हैं। पुल अनुरोध हितधारकों को प्रस्तावित परिवर्तनों की समीक्षा और चर्चा करने में सक्षम बनाता है ताकि यह सुनिश्चित हो सके कि आधार शाखा में कोड की गुणवत्ता यथासंभव उच्च रखी गई है।

एक पुल अनुरोध दो शाखाओं के बीच परिवर्तनों की तुलना करता है:

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

पुल अनुरोध शुरू करते समय, GitHub स्वचालित रूप से शाखा तुलना दृश्य दिखाता है।

एक पुल अनुरोध बनाएँ

अब आइए समीक्षा करें कि पुल अनुरोध कैसे बनाया जाए!

  1. GitHub.comपर, रिपॉजिटरी के मुख्य पृष्ठ पर नेविगेट करें।

  2. शाखा मेनू में, उस शाखा का चयन करें जिसमें आपकी कमिट हैं।

    एक नई शाखा बनाने और इसे नामकरण करने का स्क्रीनशॉट।

  3. फ़ाइलों की सूची के ऊपर, पीले बैनर में, का चयन करें & पुल अनुरोध की तुलना करें संबंधित शाखा के लिए एक पुल अनुरोध बनाने के लिए बटन।

    पीले टेक्स्ट बॉक्स का स्क्रीनशॉट, हरे रंग की तुलना करें और अनुरोध बटन खींचें।

  4. आधार शाखा ड्रॉपडाउन मेनू में, उस शाखा का चयन करें जिसमें आप अपने परिवर्तनों को मर्ज करना चाहते हैं। फिर उस शाखा का चयन करने के लिए तुलना शाखा ड्रॉपडाउन मेनू का चयन करें जिसमें आपने अपने परिवर्तन किए हैं।

  5. अपने पुल अनुरोध के लिए एक शीर्षक और विवरण दर्ज करें।

  6. समीक्षा के लिए तैयार पुल अनुरोध बनाने के लिए, पुल अनुरोध बनाएं बटन चुनें. ड्राफ़्ट पुल अनुरोध बनाने के लिए, ड्रॉप-डाउन चुनें और ड्राफ़्ट पुल अनुरोध बनाएँ चुनें, फिर ड्राफ़्ट पुल अनुरोधचुनें.

अनुरोध स्थितियां खींचो

अब आइए पुल अनुरोध की विभिन्न स्थितियों की समीक्षा करें।

  • ड्राफ़्ट पुल अनुरोध - जब आप पुल अनुरोध बनाते हैं, तो आप या तो एक पुल अनुरोध बनाना चुन सकते हैं जो समीक्षा के लिए तैयार हो या पुल अनुरोध ड्राफ़्ट बना सकते हैं. ड्राफ़्ट स्थिति वाले पुल अनुरोध को मर्ज नहीं किया जा सकता और कोड स्वामियों से ड्राफ़्ट पुल अनुरोधों की समीक्षा करने का स्वचालित रूप से अनुरोध नहीं किया जाता है.

  • ओपन पुल अनुरोध - एक खुली स्थिति का मतलब है कि पुल अनुरोध सक्रिय है और अभी तक आधार शाखा में विलय नहीं हुआ है। आप अभी भी प्रतिबद्ध हो सकते हैं और सहयोगियों के साथ संभावित परिवर्तनों पर चर्चा और समीक्षा कर सकते हैं।

  • बंद पुल अनुरोध - आप पुल अनुरोध को आधार/मुख्य शाखा में विलय किए बिना बंद करना चुन सकते हैं। यह विकल्प उपयोगी है यदि शाखा में प्रस्तावित परिवर्तनों की अब आवश्यकता नहीं है, या यदि किसी अन्य शाखा में कोई अन्य समाधान प्रस्तावित है।

  • मर्ज किए गए पुल अनुरोध - मर्ज किए गए पुल अनुरोध स्थिति का अर्थ है कि तुलना शाखा से अपडेट और कमिट को बेस शाखा के साथ जोड़ा गया था। रिपॉजिटरी तक पुश एक्सेस वाला कोई भी व्यक्ति मर्ज को पूरा कर सकता है।

पुल अनुरोध मर्ज करें

  1. अपने रिपॉजिटरी नाम के तहत, पुल अनुरोधचुनें।

    हाइलाइट किए गए पुल अनुरोध टैब के साथ रेपो के शीर्ष नेविगेशन बार का स्क्रीनशॉट।

  2. पुल अनुरोध सूची में, उस पुल अनुरोध का चयन करें जिसे आप मर्ज करना चाहते हैं।

  3. पुल अनुरोध के नीचे स्क्रॉल करें। आपके रिपॉजिटरी के लिए सक्षम मर्ज विकल्पों के आधार पर, आप यह कर सकते हैं:

    • मर्ज पुल अनुरोध बटन का चयन करके सभी कमिट को आधार शाखा में मर्ज करें। यदि मर्ज पुल अनुरोध विकल्प नहीं दिखाया गया है, तो मर्ज ड्रॉपडाउन मेनू का चयन करें, बनाएँ एक मर्ज कमिट विकल्प चुनें, और उसके बाद बनाएँ मर्ज कमिट बटन का चयन करें।

      हरे मर्ज पुल अनुरोध बटन के ड्रॉपडाउन मेनू का स्क्रीनशॉट जिसमें मर्ज कमिट बनाएं चयनित है।

    • स्क्वैश और मर्ज आपको अपने सभी कमिट लेने और उन्हें एक में संयोजित करने की अनुमति देता है। यह विकल्प आपके रिपॉजिटरी इतिहास को अधिक पठनीय और व्यवस्थित रखने में मदद करता है। स्क्वैश का चयन करें और विकल्प मर्ज करें, और फिर स्क्वैश का चयन करें और बटन मर्ज करें।

    • रीबेस और मर्ज विकल्प आपको मर्ज कमिट के बिना कमिट बनाने की अनुमति देता है। यह एक रैखिक परियोजना इतिहास रखता है। मर्ज ड्रॉपडाउन मेनू का चयन करें, फिर रीबेस चुनें और मर्ज करें विकल्प चुनें, और फिर रीबेस चुनें और बटन मर्ज करें।

  4. यदि संकेत दिया जाए, तो एक प्रतिबद्ध संदेश दर्ज करें, या डिफ़ॉल्ट संदेश स्वीकार करें।

  5. यदि आपके पास GitHub.comपर आपके खाते से जुड़े एक से अधिक ईमेल पते हैं, तो ईमेल पता ड्रॉपडाउन मेनू चुनें और गिट लेखक ईमेल पते के रूप में उपयोग करने के लिए ईमेल पते का चयन करें। इस ड्रॉपडाउन मेनू में केवल सत्यापित ईमेल पते दिखाई देते हैं। यदि आपने ईमेल पते की गोपनीयता सक्षम की है, तो नो-रिप्लाई GitHub ईमेल का उपयोग डिफ़ॉल्ट प्रतिबद्ध लेखक ईमेल पते के रूप में किया जाता है।

    कमिट के लेखक के रूप में चयन करने के लिए विवरण बॉक्स और ईमेल के ड्रॉप-डाउन मेनू के साथ प्रतिबद्ध परिवर्तन का स्क्रीनशॉट।

  6. मर्जपुष्टि करें , स्क्वैश की पुष्टि करें औरमर्ज करें , या रीबेस की पुष्टि करें औरमर्ज करें का चयन करें.

  7. वैकल्पिक रूप से, आप अपने भंडार में शाखाओं की सूची को साफ रखने के लिए तुलना शाखा को हटा सकते हैं।

उन्नत पुल अनुरोध विकल्प

पुल अनुरोध बनाने और मर्ज करने के अलावा, कुछ उन्नत विकल्प हैं जो टीमों को उच्च-गुणवत्ता वाले कोड बनाए रखने में मदद करते हैं।

समीक्षकों से अनुरोध करना

आप अपने पुल अनुरोध की समीक्षा करने के लिए विशिष्ट सहयोगियों से अनुरोध कर सकते हैं। केवल रिपॉजिटरी तक लेखन पहुंच वाले सहयोगियों को समीक्षकों के रूप में चुना जा सकता है। इससे यह सुनिश्चित करने में सहायता मिलती है कि मर्ज करने से पहले आपके परिवर्तनों की समीक्षा सही लोग कर रहे हैं.

  1. पुल अनुरोध बनाते या देखते समय, दाईं ओर साइडबार में समीक्षक अनुभाग ढूंढें।
  2. उन सहयोगियों के GitHub उपयोगकर्ता नाम खोजें और चुनें जिनके पास रिपॉजिटरी तक लेखन पहुंच है।
  3. चयनित समीक्षकों को आपके पुल अनुरोध की समीक्षा करने के लिए एक सूचना प्राप्त होगी।

आवश्यक समीक्षा और शाखा सुरक्षा नियम

कुछ रिपॉजिटरी शाखा सुरक्षा नियमों का उपयोग करते हैं जिन्हें विलय करने से पहले कुछ शर्तों को पूरा करने के लिए पुल अनुरोधों की आवश्यकता होती है। सामान्य आवश्यकताओं में शामिल हैं:

  • कम से कम एक दूसरे सहयोगी से समीक्षा का अनुमोदन।
  • सभी आवश्यक स्थिति जाँचों को पास करना, जैसे सतत एकीकरण (CI) वर्कफ़्लोज़.

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

आप मर्ज अनुभाग के तहत, पुल अनुरोध पृष्ठ के निचले भाग में एक भंडार के लिए आवश्यक नियम देख सकते हैं।

ये नियम आमतौर पर शाखा सुरक्षा सेटिंग्स में रिपॉजिटरी व्यवस्थापकों द्वारा कॉन्फ़िगर किए जाते हैं।

स्थिति जाँच और निरंतर एकीकरण (CI)

यदि आपका रिपॉजिटरी GitHub क्रियाओं या किसी अन्य CI सिस्टम का उपयोग करता है, तो परिवर्तन किए जाने पर पुल अनुरोध स्वचालित रूप से स्थिति जांच चला सकते हैं। उदाहरणों में शामिल:

  • रनिंग यूनिट टेस्ट
  • कोड स्वरूपण की जाँच करना
  • सुरक्षा स्कैन सत्यापित करना

पुल अनुरोधों को आमतौर पर आधार शाखा में विलय करने से पहले सभी आवश्यक स्थिति जांच पास करनी होगी। विफल चेक सीधे पुल अनुरोध पृष्ठ पर दिखाए जाते हैं।

सितारों के साथ रिपॉजिटरी सहेजना

जब आपको एक रिपॉजिटरी मिलती है जिसे आप बाद में आसानी से फिर से देखना चाहते हैं, तो आप इसे GitHub पर तारांकित कर सकते हैं। एक रिपॉजिटरी अभिनीत करना इसे आपकी पसंदीदा की व्यक्तिगत सूची में सहेजता है और रिपॉजिटरी अनुरक्षकों के लिए आपकी प्रशंसा दिखाता है।

एक भंडार को तारांकित करने के लिए:

  1. पर रिपॉजिटरी पेज पर GitHub.comनेविगेट करें।
  2. ऊपरी-दाएँ कोने में, स्टार बटन चुनें ⭐.

आप अपने प्रोफ़ाइल चित्र का चयन करके आपके द्वारा तारांकित सभी रिपॉजिटरी देख सकते हैं, फिर आपके सितारे

कीबोर्ड शॉर्टकट

GitHub आपके काम के माध्यम से तेजी से आगे बढ़ने में आपकी मदद करने के लिए कई कीबोर्ड शॉर्टकट प्रदान करता है।

सभी उपलब्ध शॉर्टकट देखने के लिए:

  • GitHub.com पर कहीं भी दबाएं ?

आपको समस्याओं को नेविगेट करने, पुल अनुरोध, रिपॉजिटरी, और बहुत कुछ के लिए शॉर्टकट की एक सूची दिखाई देगी।

कमांड पैलेट का उपयोग करना

GitHub पर कमांड पैलेट आपको कीबोर्ड से हाथ हटाए बिना पृष्ठों पर जल्दी से कूदने, सामान्य क्रियाएं चलाने या रिपॉजिटरी खोजने में मदद करता है।

कमांड पैलेट खोलने के लिए:

  • प्रेस Ctrl+K (विंडोज/लिनक्स) या ⌘+K (मैक)।

आप "पुल अनुरोध बनाएं," "मुद्दे देखें," या "शाखा स्विच करें" जैसी क्रियाओं को तुरंत वहां जाने के लिए टाइप करना शुरू कर सकते हैं जहां आपको आवश्यकता है।

आपने जो सीखा है उसे लागू करें

इसके बाद, आप एक अभ्यास पूरा करते हैं जो आपके द्वारा समीक्षा की गई है और इसे वास्तविक जीवन के उदाहरण पर लागू करता है।