Git Commits
कमिट Git वर्जन कंट्रोल सिस्टम का एक महत्वपूर्ण हिस्सा हैं।
कमिट के बारे में सोचने का एक तरीका यह है कि वे प्रोजेक्ट के इतिहास में एक निश्चित क्षण के दौरान प्रोजेक्ट का एक स्नैपशॉट हैं। जब एक कमिट बनाया जाता है, तो यह रिकॉर्ड बनाता है कि कमिट बनाए जाने के समय प्रोजेक्ट में सभी फ़ाइलें और निर्देशिकाएं कैसे दिखाई देती थीं।
इस रिकॉर्ड को भविष्य में पढ़ा जा सकता है कि किसी प्रोजेक्ट ने किसी समय बिंदु पर कैसा दिखता था और किसने प्रोजेक्ट में किन फ़ाइलों में क्या परिवर्तन किए। वास्तव में, कमिट Git की एक महत्वपूर्ण विशेषता है क्योंकि यह डेवलपर्स को समय के साथ अपने रिपॉजिटरी के विकास का एक व्यापक रिकॉर्ड रखने की अनुमति देता है।
अन्य वर्जन कंट्रोल सिस्टम के विपरीत, एक कमिट तब तक सेंट्रल रिपॉजिटरी को प्रभावित नहीं करता जब तक आप तैयार नहीं होते, जिसका अर्थ है कि यह रिपॉजिटरी में किए गए परिवर्तनों और रिपॉजिटरी के मुख्य संस्करण के बीच एक अंतराल के रूप में कार्य कर सकता है।
दूसरे शब्दों में, रिपॉजिटरी के मुख्य संस्करण में सीधे परिवर्तन करने के बजाय - जिसमें कई योगदानकर्ता सक्रिय रूप से रिपॉजिटरी देख रहे हों - एक डेवलपर अपने स्थानीय रिपॉजिटरी में अपना कोड कमिट कर सकता है और बाद में इसे मुख्य रिपॉजिटरी में पुश कर सकता है।
कमिट बनाना Git में परिवर्तन "सेव" करने का अंतिम से पहले का चरण है। कमिट बनाने के बाद, अगला कदम git push का उपयोग करके आपके द्वारा किए गए परिवर्तनों को सेंट्रल रिपॉजिटरी में पुश करना है।
Git Commit का उपयोग कैसे करें
git commit कमांड स्टेज्ड परिवर्तनों को स्थानीय रिपॉजिटरी में सेव करता है।
"स्टेज्ड परिवर्तन" स्टेजिंग एरिया में सभी फ़ाइलों को संदर्भित करता है, जिन्हें git add कमांड का उपयोग करके जोड़ा जाता है। git add कमांड के बारे में अधिक जानने के लिए, आप हमारे git add के लिए शुरुआती गाइड को पढ़ सकते हैं।
आइए जानें कि git commit कमांड का उपयोग कैसे करें।
git commit
git commit कमांड का सबसे बुनियादी उपयोग इस प्रकार है:
git commit
यह कमांड स्टेज्ड परिवर्तनों को स्थानीय रिपॉजिटरी में कमिट करता है। जब यह कमांड चलाया जाता है, तो एक टेक्स्ट एडिटर खुल जाएगा जो आपसे एक कमिट संदेश सबमिट करने के लिए कहेगा।
यह संदेश वह जगह है जहां आपको संक्षेप में उन परिवर्तनों का वर्णन करना चाहिए जो आपने एक कमिट में रिपॉजिटरी में किए हैं। कमिट संदेश लिखने के बाद, आप टेक्स्ट एडिटर को बंद कर सकते हैं और फिर कमिट बनाया जाएगा।
git commit -a
-a फ्लैग, जो ऑल के लिए खड़ा है, आपको सभी संशोधित फ़ाइलों को स्वचालित रूप से कमिट करने के लिए स्टेज करने की अनुमति देता है।
मान लीजिए आपके पास CONTRIBUTORS.md नामक एक फ़ाइल है जिसे आपने अपने रिपॉजिटरी में कमिट किया है। यदि आप इस फ़ाइल को बदलते हैं, तो आप अपने रिपॉजिटरी में परिवर्तनों को स्टेज और जोड़ने के लिए git commit -a कमांड का उपयोग कर सकते हैं।
-a फ्लैग का उपयोग करने से आपको सभी बदली हुई फ़ाइलों पर "git add" चलाने की आवश्यकता नहीं होती। ऐसा इसलिए है क्योंकि -a फ्लैग git को सभी संशोधित फ़ाइलों को स्टेज करने का निर्देश देता है। हालांकि, -a फ्लैग किसी भी नई फ़ाइल को स्टेज नहीं करेगा। इसलिए, यदि आप "README.md" नामक एक फ़ाइल बनाते हैं, तो इसे तब तक स्टेज नहीं किया जाएगा जब तक आप पहले "git add" नहीं चलाते।
-a फ्लैग के लिए सिंटैक्स यहां दिया गया है:
git commit -a
यह कमांड हमारे रिपॉजिटरी में कमिट की जाने वाली सभी संशोधित फ़ाइलों को स्वचालित रूप से स्टेज करेगा।
git commit -m
शायद git commit के साथ उपयोग किया जाने वाला सबसे आम फ्लैग -m फ्लैग है। -m फ्लैग, जो मैसेज के लिए खड़ा है, का उपयोग कमिट में एक कमिट संदेश जोड़ने के लिए किया जाता है।
जब आप -m फ्लैग के बिना git commit कमांड का उपयोग करते हैं, तो एक टेक्स्ट एडिटर खुल जाएगा जिसमें आप एक संदेश लिख सकते हैं, जैसा कि हमने पहले चर्चा की थी। हालांकि, -m फ्लैग का उपयोग करने से आप सीधे एक कमिट संदेश निर्दिष्ट करके टेक्स्ट एडिटर के खुलने को छोड़ सकते हैं।
git commit कमांड को -m फ्लैग के साथ उपयोग करने के लिए सिंटैक्स यहां दिया गया है:
git commit -m "feat: commit message"
इस कमांड में, हम -m फ्लैग निर्दिष्ट करते हैं यह इंगित करने के लिए कि हम अपने कमिट में सीधे एक कमिट संदेश जोड़ना चाहते हैं (टेक्स्ट एडिटर खुलने के बजाय जहां हम एक संदेश जोड़ते हैं)। फिर, हम -m फ्लैग के बाद कोटेशन मार्क्स में अपना कमिट संदेश संलग्न करते हैं। इस मामले में, हमारा कमिट संदेश "feat: commit message" है।
Git Commit उदाहरण
आइए एक उदाहरण के माध्यम से देखें कि आप git commit कमांड का उपयोग कैसे कर सकते हैं।
मान लीजिए हम एक प्रोजेक्ट पर काम कर रहे हैं और हमने अभी अपने प्रोजेक्ट में app.py फ़ाइल को संपादित किया है। हमने फ़ाइल में वे सभी परिवर्तन किए हैं जो हम करना चाहते थे, और हम फ़ाइल के लिए एक कमिट बनाने के लिए तैयार हैं।
पहला कदम फ़ाइल को git add का उपयोग करके स्टेजिंग एरिया में जोड़ना है। आप निम्नलिखित कोड का उपयोग करके ऐसा कर सकते हैं:
git add app.py
अब app.py फ़ाइल स्टेजिंग एरिया में है। इसका मतलब है कि जब हम तैयार हों तो हम इसे अपने कोड में कमिट करने में सक्षम हैं।
हमने अपने app.py फ़ाइल में "runApp()" नामक एक नया फ़ंक्शन जोड़ा है, जिसे हम स्थानीय रिपॉजिटरी में कमिट करना चाहते हैं। हम निम्नलिखित कोड का उपयोग करके ऐसा कर सकते हैं:
git commit -m "feat: Add runApp() function"
यह कमांड हमारे app.py फ़ाइल में किए गए परिवर्तनों के साथ एक कमिट बनाता है। हमारे कमिट से जुड़ा संदेश "feat: Add runApp() function" है, जो संक्षेप में हमारे रिपॉजिटरी में किए गए परिवर्तनों का वर्णन करता है।
Git कमिट में संशोधन करें
git commit कमांड पिछले कमिट में संशोधन की भी अनुमति देता है। आप --amend विकल्प का उपयोग करके पिछले कमिट में संशोधन कर सकते हैं।
मान लीजिए हमने अभी अपना कमिट बनाया है और हम अपने कमिट में __init__.py फ़ाइल जोड़ना भूल गए। हम अपने प्रारंभिक कमिट में संशोधन कर सकते हैं ताकि हमारी फ़ाइल शामिल हो जाए, इस कोड का उपयोग करके:
git add __init__.py git commit --amend -m "feat: Add runApp() function and update init file"
यह हमारे पिछले कमिट में __init__.py फ़ाइल को शामिल करने के लिए संशोधन करेगा, और हमारे द्वारा उपरोक्त कमांड में निर्दिष्ट नए कमिट संदेश का उपयोग करने के लिए हमारे कमिट को संशोधित करेगा।
--amend फ्लैग का उपयोग अक्सर सॉफ्टवेयर डेवलपर्स द्वारा किया जाता है क्योंकि जब आप सॉफ्टवेयर वर्जनिंग कर रहे होते हैं तो गलतियां करना आसान होता है। उदाहरण के लिए, आप कमिट में फ़ाइल स्टेज करना भूल सकते हैं, या जब आप कमिट संदेश लिख रहे होते हैं तो टाइपो कर सकते हैं, या आपका कमिट संदेश आपके कोड में किए गए प्रमुख परिवर्तन को शामिल नहीं कर सकता है।
इस प्रकार, जब आप सॉफ्टवेयर विकसित कर रहे होते हैं तो आप --amend फ्लैग का बार-बार उपयोग करेंगे।
एक अच्छा कमिट संदेश लिखना
जैसा कि हमने चर्चा की, git कमांड का उपयोग करते समय कमिट संदेश लिखना अनिवार्य है। जबकि एक कमिट संदेश तकनीकी रूप से आप जो चाहें शामिल कर सकता है, आपको इस बारे में कुछ समय सोचना चाहिए कि आप अपने कमिट संदेश में क्या शामिल करना चाहते हैं।
जबकि इस बात के कोई नियम नहीं हैं कि आप एक अच्छा कमिट संदेश कैसे लिख सकते हैं, कुछ सर्वोत्तम प्रथाएं हैं जिनका उपयोग डेवलपर्स द्वारा अक्सर यह सुनिश्चित करने के लिए किया जाता है कि वे सुसंगत और वर्णनात्मक कमिट संदेश लिखते हैं।
यहां कुछ चीजें दी गई हैं जिन्हें आपको git कमिट संदेश लिखते समय ध्यान में रखना चाहिए:
- कमिट संदेश की विषय पंक्ति को कैपिटलाइज़ करें
- विषय पंक्ति को 50 वर्णों तक सीमित करें
- कमिट के मुख्य भाग का उपयोग यह समझाने के लिए करें कि आपने क्या बदला है (न कि क्यों)
- कमिट के मुख्य भाग में प्रत्येक पंक्ति को 72 वर्णों से कम रखें।
इन नियमों का पालन करने से आप अधिक पठनीय कमिट संदेश लिख पाएंगे जो व्याख्या करने में आसान हैं।
इसके अलावा, आप अपने कमिट संदेश में अन्य मुद्दों या पुल रिक्वेस्ट का उल्लेख करना चाह सकते हैं। उदाहरण के लिए, यदि एक कमिट रिपॉजिटरी में मुद्दा #22 को हल करता है, तो आप अपने कमिट को "fix: resolves issue #22" शीर्षक दे सकते हैं और कमिट के मुख्य भाग में विवरण शामिल कर सकते हैं कि आपने मुद्दे को हल करने के लिए क्या बदला।
निष्कर्ष
git commit कमांड का उपयोग फ़ाइलों को स्टेजिंग एरिया से कमिट में ले जाने के लिए किया जाता है। यह कमांड git add के बाद चलाया जाता है, जिसका उपयोग फ़ाइलों को स्टेजिंग एरिया में जोड़ने के लिए किया जाता है। git commit Git रिपॉजिटरी में किए गए परिवर्तनों का एक स्नैपशॉट बनाता है जिसे तब मुख्य रिपॉजिटरी में पुश किया जा सकता है जब डेवलपर ऐसा करने के लिए तैयार हो।
इस ट्यूटोरियल ने चर्चा की कि Git रिपॉजिटरी में परिवर्तनों को कमिट करने के लिए git commit कमांड का उपयोग कैसे करें। अब आप git commit कमांड का उपयोग एक विशेषज्ञ की तरह शुरू करने के लिए आवश्यक ज्ञान से लैस हैं!