इस ब्लॉग में छवियां स्कॉट चाकोन, बेन स्ट्राब द्वारा "प्रो गिट" से ली गई हैं
इस ब्लॉग में, आपको गिट के भीतर प्रोग्रामिंग में आपके द्वारा उपयोग की जाने वाली कुछ रोजमर्रा की सुविधाओं के बारे में सभी प्रकार के स्पष्ट तथ्य पढ़ने को मिलेंगे!
डेवलपर्स के लिए टूल का आंख मूंदकर उपयोग करना आसान है और उन्हें नहीं पता कि वे हुड के नीचे कैसे काम करते हैं। हालाँकि यह निष्कर्ष बेहतर के लिए है, कभी-कभी यह जानना कि चीजें कैसे काम करती हैं, एक अनुभवी और शौकिया प्रोग्रामर के बीच अंतर पैदा कर सकती हैं।
आइए कुछ अच्छे तथ्यों के बारे में जानें!
यदि आपने काफी समय से Git का उपयोग किया है, तो आपको git status के बारे में पता होना चाहिए। हालाँकि, क्या आप जानते हैं कि अधिक पठनीय और न्यूनतम स्थिति आउटपुट प्राप्त करने का एक विकल्प है?
संक्षिप्त स्थिति ध्वज, -s का उपयोग करके, आपको एक अधिक कॉम्पैक्ट प्रारूप मिलता है।
$ git status -s M README MM Rakefile A lib/git.rb M lib/simplegit.rb ?? LICENSE.txt
आप देखेंगे कि आउटपुट के बाएं भाग पर 2 कॉलम हैं। बायां कॉलम स्टेजिंग क्षेत्र की स्थिति को दर्शाता है, जबकि दायां कॉलम वर्किंग ट्री की स्थिति को दर्शाता है। क्रियाओं का क्रम कालानुक्रमिक रूप से बाएँ से दाएँ भी दर्शाया जाता है।
आइए उपरोक्त आउटपुट की व्याख्या करें:
क्या होगा यदि आप अपनी ट्रैक की गई फ़ाइलों को स्टेज करना चाहते हैं और सभी को एक कमांड में कमिट करना चाहते हैं?
आप git प्रतिबद्ध -a -m "message" का उपयोग करके ऐसा कर सकते हैं।
ध्यान दें कि अनट्रैक की गई फ़ाइलें (नई बनाई गई फ़ाइलें) दुर्भाग्य से इस जादुई कमांड के साथ चरणबद्ध नहीं होंगी।
अपनी रिपॉजिटरी में किए गए कमिट को उल्टे कालानुक्रमिक क्रम में सूचीबद्ध करने के लिए git log का उपयोग करें (सबसे हालिया कमिट पहले दिखाई देते हैं)।
ऐसे कई विकल्प हैं जो आपको आउटपुट को अनुकूलित करने की अनुमति देते हैं। आइए कुछ उपयोगी बातों पर गौर करें:
जब आप किसी फ़ाइल को अनस्टेज करना चाहते हैं, तो git रीसेट HEAD का उपयोग करें। जब आप किसी संशोधित फ़ाइल को अनमॉडिफाई करना चाहते हैं, तो git checkout -- {file} का उपयोग करें।
अब दोनों करने का एक आसान तरीका है! Git संस्करण 2.23.0 ने git restart पेश किया, जो फ़ाइलों को अनस्टेज और अनमॉडिफाई करने के लिए 2-इन-1 क्षमता लाता है।
सबसे अधिक संभावना है, आपने प्रोग्रामर के रूप में कम से कम एक बार git पुल का उपयोग किया है। इसके अतिरिक्त, आपने संभवतः git fetch के बारे में सुना होगा लेकिन वास्तव में इसका उपयोग करने की आवश्यकता कभी नहीं पड़ी। खैर, आइए इस बारे में बात करें कि यह वास्तव में क्या करता है और यह गिट पुल से कैसे अलग है।
आप फ़ेच को एक खिंचाव के भीतर क्या होता है उसका पहला चरण मान सकते हैं।
एक झटके में, हम रिमोट रिपॉजिटरी से सारा डेटा डाउनलोड करते हैं और इसे स्थानीय रिपॉजिटरी में स्थानांतरित कर देते हैं। फ़ेच यही करता है.
इस बिंदु पर, आपके स्थानीय भंडार में डेटा है लेकिन इसे कार्यशील निर्देशिका के साथ विलय नहीं किया गया है ताकि आप नवीनतम परिवर्तनों पर काम कर सकें। पुल के भीतर अगला चरण आपकी शाखा के साथ विलय है ताकि नवीनतम परिवर्तन आपकी कार्यशील निर्देशिका में हों।
इस प्रकार, एक पुल सभी को एक साथ लाता और विलीन करता है, जबकि एक फ़ेच केवल पहला चरण करता है।
अगर मैं आपसे कहूं कि आपके गिट कमांड को अनुकूलन योग्य बनाने का कोई तरीका है तो क्या होगा? git config के माध्यम से, आप यह कर सकते हैं!
आप बार-बार उपयोग किए जाने वाले कमांड के लिए उपनाम इस प्रकार सेट कर सकते हैं:
$ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global alias.ci commit $ git config --global alias.st status
अब, git प्रतिबद्ध टाइप करने के बजाय, आपको बस git ci टाइप करना होगा।
यह उन आदेशों के लिए विशेष रूप से उपयोगी है जो किसी निश्चित कार्य को अधिक सहज बनाने में मदद करते हैं।
$ git config --global alias.unstage 'reset HEAD --' # the double dash serves as an option separator. # It tells Git to treat anything after it as a filename
उपरोक्त आदेश निम्नलिखित आदेशों को समकक्ष बनाता है:
अपनी नवीनतम प्रतिबद्धता देखने के लिए अंतिम कमांड जोड़ना भी आम है:
$ git config --global alias.last 'log -1 HEAD'
इस ब्लॉग के लिए बस इतना ही! मुझे आशा है कि आपने Git के साथ अपने अगले प्रोजेक्ट के लिए कुछ साफ-सुथरी तरकीबें सीखी हैं जो आपके वर्कफ़्लो की गुणवत्ता में सुधार करेंगी। पढ़ने के लिए धन्यवाद!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3