शुरुआती डेवलपर्स के रूप में, हम केवल दोहराव के माध्यम से गिट सीखते हैं। हम जल्दी से सीखते हैं कि git pull, git push, और git हर तरह से क्या करते हैं। जैसे-जैसे हम बड़ी परियोजनाओं पर काम करने और टीमों के साथ सहयोग करने के लिए संक्रमण करते हैं, हम अधिक उन्नत git कमांड सीखना शुरू करते हैं जो हमारे कोडबेस के संस्करण नियंत्रण इतिहास को उन व्यक्तियों के बीच सीधे रखने में मदद करेगा जो किसी प्रोजेक्ट पर काम करते हैं।
ऐसा ही एक कमांड है git चेरी-पिक। git चेरी-पिक कमांड का उपयोग तब किया जाता है जब हम एक शाखा से विशिष्ट कमिट लेना चाहते हैं और उन्हें किसी अन्य फीचर शाखा या मास्टर शाखा के HEAD से जोड़ना चाहते हैं।
गिट चेरी-पिक क्या है?
एक समूह परियोजना पर काम करने के रूप में चेरी-पिकिंग के बारे में सोचें। प्रत्येक व्यक्ति का एक विशिष्ट खंड होता है जिसे उसे काम करने की आवश्यकता होती है। अंत में, वे प्रत्येक अनुभाग को एक कुल परियोजना में जोड़ देंगे। आप एक निश्चित खंड के कुछ हिस्सों को ले सकते हैं और इसे दूसरे खंड में विभाजित कर सकते हैं ताकि परियोजना बेहतर ढंग से प्रवाहित हो सके।
यह संक्षेप में है कि गिट चेरी-पिक क्या है:हम एक फीचर शाखा से एक प्रतिबद्ध या एकाधिक प्रतिबद्धता लेते हैं और इसे दूसरी शाखा में नई प्रतिबद्धता के रूप में संलग्न करते हैं। आइए देखें कि यह कैसे काम करता है:
यह मूल आरेख एक परियोजना से दो शाखाओं का प्रतिनिधित्व करता है जिसे git द्वारा ट्रैक किया जाता है। पत्र उनकी संबंधित शाखाओं पर गिट भंडार में किए गए विभिन्न प्रतिबद्धताओं का प्रतिनिधित्व करते हैं। डैश इतिहास का प्रतिनिधित्व करते हैं, सबसे पुराने से लेकर सबसे कम उम्र तक। इन चरणों का पालन करते समय दो शाखाओं की संरचना और वे कैसे काम करते हैं, इसकी कल्पना करने का प्रयास करें:
गिट चेरी-पिक को पूरा करने के चरण
चेरी के रूप में प्रत्येक गिट प्रतिबद्ध या पत्र (जैसा ऊपर दिखाया गया है) के बारे में सोचें। प्रत्येक चेरी के साथ एक अद्वितीय हैश जुड़ा होता है - यदि आप सुनिश्चित नहीं हैं कि हैश क्या है, तो इसे एक फिंगरप्रिंट या अद्वितीय पहचानकर्ता के रूप में सोचें जो प्रतिबद्धता से जुड़ा हुआ है। उस चेरी को चुनने और उसे दूसरी शाखा में जोड़ने के लिए हमें उस हैश की आवश्यकता होगी।
- गिट चेकआउट
<name of branch you’d like to grab commit from>
उस शाखा में चेकआउट करें जिससे आप अपनी प्रतिबद्धता/चेरी चुनना चाहते हैं।
- गिट रीफ्लॉग
git संदर्भ लॉग,reflog
, हाल ही में की गई कार्रवाइयों का ट्रैक रखता है। यहाँ git reflog का एक उदाहरण दिया गया है:
% git reflog
bf654bb (HEAD -> master, origin/master) HEAD@{0}: commit: last commit message made
2394353 HEAD@{1}: commit: where head was 2 commit messages ago
b4b51eb HEAD@{2}: commit: where head was 3 commit messages ago
आपके प्रतिबद्ध संदर्भ लॉग, यदि एक बड़ी टीम के साथ काम कर रहे हैं, तो अधिक जानकारी हो सकती है, जैसे दिनांक, समय, और/या लेखक जिसने प्रतिबद्ध किया है। यहां, हालांकि, हम प्रतिबद्ध हैश देखते हैं, वह शाखा जहां प्रतिबद्ध किया गया था, कार्रवाई की गई, और वास्तविक प्रतिबद्ध संदेश।
एक बार जब आप जानते हैं कि आप दूसरी शाखा में कौन सी प्रतिबद्धता जोड़ना चाहते हैं, तो हैश पर ध्यान दें - हैश इस उदाहरण में प्रत्येक पंक्ति की शुरुआत में संख्याओं और वर्णों की स्ट्रिंग है।
- गिट चेकआउट <शाखा का नाम जिसे आप कमिट करना चाहते हैं>
हैश को नोट करने के बाद, उस शाखा पर स्विच करें जिसमें आप कमिट जोड़ना चाहते हैं।
- गिट चेरी-पिक [-x] <प्रतिबद्ध हैश>
उस शाखा के कामकाजी पेड़ में प्रतिबद्धता जोड़ने के लिए प्रतिबद्ध हैश के साथ गिट चेरी-पिक कमांड का उपयोग करें। जब आप किसी सार्वजनिक शाखा से चेरी-पिकिंग कर रहे हों तो -x ध्वज का उपयोग करें क्योंकि यह एक पंक्ति जोड़ देगा जो मूल प्रतिबद्धता पर टिप्पणी करता है जिसे चेरी से चुना गया था।
आइए चेरी-पिक के बाद हमारे आरेख पर एक और नज़र डालें:
आइए चेरी-पिक के बाद हमारे आरेख पर एक और नज़र डालें:
हमारी "चेरी", या प्रतिबद्ध हैश, जिसे हमने इस उदाहरण में चुना है वह "सी" है। ऊपर उल्लिखित चरणों का पालन करने के बाद, इस उदाहरण में चयनित प्रतिबद्ध, "सी", दूसरी शाखा के इतिहास में एक प्रतिबद्धता के रूप में जोड़ा जाता है।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
अंतिम नोट
करने के लिए आखिरी चीज चेरी-चुने हुए प्रतिबद्धता से किसी भी नोट को कॉपी करना है। git नोट्स कॉपी का उपयोग करें <cherry-picked commit hash> <new-commit-hash>
मूल प्रतिबद्धता में किए गए किसी भी नोट की प्रतिलिपि बनाने के लिए।
साथ ही, इसके परिणामस्वरूप उत्पन्न होने वाले किसी भी मर्ज विरोध को हल करना सुनिश्चित करें।
इस लेख में, हमने git चेरी-पिक नामक एक उन्नत git कमांड का उपयोग करने की प्रक्रिया पर एक नज़र डाली। इसका उपयोग तब करें जब आपको एक शाखा से प्रतिबद्धता लेने और दूसरी शाखा में जोड़ने की आवश्यकता हो।