जवाबों:
GitLab का "मर्ज अनुरोध" सुविधा GitHub के "पुल अनुरोध" सुविधा के बराबर है । दोनों दूसरी शाखा या कांटे से परिवर्तन को अपनी शाखा में खींचने और अपने मौजूदा कोड के साथ परिवर्तनों को मर्ज करने के साधन हैं। वे कोड समीक्षा और प्रबंधन को बदलने के लिए उपयोगी उपकरण हैं।
GitLab का एक लेख फीचर के नामकरण में अंतर पर चर्चा करता है:
मग या पुल अनुरोध एक गिट प्रबंधन अनुप्रयोग में बनाए जाते हैं और एक निर्दिष्ट व्यक्ति को दो शाखाओं को मर्ज करने के लिए कहते हैं। GitHub और Bitbucket जैसे उपकरण नाम पुल अनुरोध का चयन करते हैं क्योंकि पहली मैन्युअल कार्रवाई सुविधा शाखा को खींचने के लिए होगी। GitLab और Gitorious जैसे उपकरण नाम मर्ज अनुरोध का चयन करते हैं क्योंकि यह अंतिम क्रिया है जो असाइनमेंट के लिए अनुरोध की जाती है। इस लेख में हम उन्हें मर्ज अनुरोध के रूप में संदर्भित करेंगे।
एक "मर्ज अनुरोध" git merge
कमांड के साथ भ्रमित नहीं होना चाहिए । न तो "पुल अनुरोध" को git pull
कमांड के साथ भ्रमित किया जाना चाहिए । दोनों git
आदेशों को पुल अनुरोधों और मर्ज अनुरोधों में पर्दे के पीछे उपयोग किया जाता है, लेकिन मर्ज / पुल अनुरोध केवल इन दो आदेशों की तुलना में बहुत व्यापक विषय को संदर्भित करता है।
वे एक ही विशेषता हैं
मग या पुल अनुरोध एक गिट प्रबंधन अनुप्रयोग में बनाए जाते हैं और एक निर्दिष्ट व्यक्ति को दो शाखाओं को मर्ज करने के लिए कहते हैं। GitHub और Bitbucket जैसे उपकरण नाम पुल अनुरोध का चयन करते हैं क्योंकि पहली मैन्युअल कार्रवाई सुविधा शाखा को खींचने के लिए होगी। GitLab और Gitorious जैसे उपकरण नाम मर्ज अनुरोध का चयन करते हैं क्योंकि यह अंतिम क्रिया है जो असाइनमेंट के लिए अनुरोध की जाती है। इस लेख में हम उन्हें मर्ज अनुरोध के रूप में संदर्भित करेंगे।
मेरे विचार में, उनका मतलब एक ही गतिविधि से है लेकिन विभिन्न दृष्टिकोणों से:
उस बारे में सोचें, ऐलिस रिपॉजिटरी ए पर कुछ काम करता है, जो बॉब के रिपॉजिटरी बी से लिया गया था।
जब ऐलिस बी में उसके परिवर्तनों को "मर्ज" करना चाहती है, तो वह वास्तव में बॉब को ए से इन परिवर्तनों को "खींच" करना चाहती है।
इसलिए, ऐलिस के दृष्टिकोण से, यह एक "मर्ज अनुरोध" है, जबकि बॉब इसे "पुल अनुरोध" मानते हैं।
संघर्ष प्रबंधन के संदर्भ में एक सूक्ष्म अंतर है। संघर्षों के मामले में, गितुब में एक पुल अनुरोध के परिणामस्वरूप गंतव्य शाखा पर एक मर्ज कम हो जाएगा । गिटलैब में, जब एक संघर्ष पाया जाता है, तो किए गए संशोधन स्रोत पर एक मर्ज कमिट पर होंगे शाखा ।
Https://docs.gitlab.com/ee/user/project/merge_requests/resolve_conflic.html.html देखें
"गिटलैब स्रोत शाखा में एक मर्ज कमिट बनाकर टकरावों को हल करता है जो स्वचालित रूप से लक्ष्य शाखा में विलय नहीं होता है। यह मर्ज की समीक्षा करने और परिवर्तनों के विलय से पहले परीक्षण करने की अनुमति देता है, बिना समीक्षा के लक्ष्य शाखा में प्रवेश करने वाले अनपेक्षित परिवर्तनों को रोकने या तोड़ने के बिना। निर्माण। "
GitLab 12.1 (जुलाई 2019) एक अंतर का परिचय देता है:
" गोपनीय मुद्दों के लिए आग्रह करें "
सुरक्षा भेद्यताओं जैसे गोपनीय मुद्दों पर चर्चा, योजना और समाधान करते समय, यह खुला स्रोत परियोजनाओं के लिए विशेष रूप से चुनौतीपूर्ण हो सकता है क्योंकि गिट रिपॉजिटरी सार्वजनिक है।
12.1 के रूप में, गोपनीय प्रोजेक्ट मर्ज अनुरोध अनुरोध का उपयोग करके किसी सुव्यवस्थित वर्कफ़्लो के भीतर किसी सार्वजनिक प्रोजेक्ट में गोपनीय मुद्दों को हल करना अब संभव है, जो आपको प्रोजेक्ट के निजी कांटे में मर्ज अनुरोध बनाने में मदद करता है।
58583 अंक से " गोपनीय मुद्दे " देखें ।
गिटहब में एक समान विशेषता मौजूद है, लेकिन इसमें एक विशेष निजी कांटा का निर्माण शामिल है, जिसे " अनुरक्षक सुरक्षा सलाहकार " कहा जाता है ।
जैसा कि पिछले उत्तरों में बताया गया है, दोनों लगभग एक ही उद्देश्य से काम करते हैं। व्यक्तिगत रूप से मुझे गिट रिबेस और मर्ज अनुरोध पसंद है (जैसे गिटलैब में)। यह समीक्षक / अनुरक्षक का बोझ उठाता है, यह सुनिश्चित करता है कि मर्ज अनुरोध जोड़ते समय, सुविधा शाखा में मुख्य शाखा पर किए गए सभी नवीनतम आवागमन शामिल हैं, जो सुविधा शाखा बनने के बाद करते हैं। यहाँ रिबेस को विस्तार से समझाने वाला एक बहुत ही उपयोगी लेख है: https://git-scm.com/book/en/v2/Git-Branching-Rebasing