कमिट इतिहास को प्रारूपित करने के लिए Git Log का उपयोग कैसे करें?



गिट एक उपकरण है जो आपके अनुप्रयोगों के स्रोत कोड को व्यवस्थित और प्रबंधित करने में मदद करता है। गिट लॉग प्रारूप इतिहास कमांड और इसका उपयोग कैसे करें के बारे में जानें।

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

सबसे पहले, मैं एक सुविधाजनक और छोटे इतिहास के लिए 'फीचर 1' शाखा को स्विच-इन / चेक आउट कर रहा हूं।
आदेशों का उपयोग करें -





$सीडी myProjगिट परियोजना के लिए -Switch

$git चेकआउट फीचर 1'फ़ीचर 1' शाखा में जाएं



1. प्रारूपण

1.1 किसी दिए गए प्रारूप में आउटपुट सामग्री को सुंदर प्रिंट करें

वाक्य - विन्यास: गिट लॉग - व्याख्या [=]

कहां है, में से एक हो सकता है एक लकीर, कम, माध्यम है, भरा हुआ, पूर्ण, ईमेल, कच्चा, तथा प्रारूप:
कब = भाग छोड़ा जाता है, यह चूक करता है माध्यम है

1.1.1-व्याख्या = ऑनलाइन

सिंगल लाइन ’में सुंदर प्रिंट कमिट लॉग
आदेश: गिट लॉग - व्याख्या = ऑनलाइन
क्रम में आउटपुट का प्रारूप:




प्रतिबद्ध - गिट लॉग प्रारूप इतिहास - एडुरका

१.१.२-व्याख्या = लघु

प्रारूप में आउटपुट 'लघु' प्रारूप:
प्रतिबद्ध (refname)
लेखक:



१.१.३-व्याख्या = माध्यम

आदेश: गिट लॉग - व्याख्या = मध्यम
'मध्यम' प्रारूप में प्रिंट कमिट आउटपुट:
प्रतिबद्ध है
लेखक :
तारीख:


१.१.४-व्याख्या = पूर्ण

आदेश: गिट लॉग - व्याख्या = पूर्ण
आउटपुट प्रारूप में है:
प्रतिबद्ध (refname)
लेखक:
प्रतिबद्ध:


१.१.५-व्याख्या = पूर्ण

आदेश: git log --pretty = फुलर
प्रतिबद्ध (refname)
लेखक:
AuthorDate :
प्रतिबद्ध:
तिथि के लिए प्रतिबद्ध:


१.१.६-व्याख्या = ईमेल

आदेश: git log --pretty = ईमेल
ईमेल शैली प्रारूप में प्रिंट लॉग आउटपुट:
से
से:
तारीख:
विषय: [पथ]


१.१. 1.1-व्याख्या = कच्चा

आदेश: गिट लॉग - व्याख्या = कच्चा
कच्चे लॉग आउटपुट फॉर्मेट पूरी तरह से कमिट ऑब्जेक्ट में संग्रहीत के रूप में दिखाता है।
प्रतिबद्ध है
पेड़
जनक
लेखक
प्रतिबद्ध है

१.१. 1.1-सुधार:: कस्टम स्वरूपण

प्रारूप आपको यह निर्दिष्ट करने की अनुमति देता है कि आप प्रतिबद्ध वस्तु की कौन सी जानकारी को प्रतिबद्ध आउटपुट लॉग में प्रिंट करना चाहते हैं
आइए हम विभिन्न प्लेसहोल्डर पर विचार करें, यह विकल्प कोड स्निपेट की सहायता से f C प्रिंटफ ’फ़ंक्शन की तरह ही प्रदान करता है:

आदेश: git log --pretty = format: '% h% ad | % s% d [% a] '--डेट = छोटा
आउटपुट स्वरूप:
| [लेखक का नाम]

% ज = लघुशंका हैश-आईडी / sha1commit आईडी
% ह = लंबी शा -1 आईडी
%सेवा मेरे = लेखक की तारीख
% s = विषय शीर्षक पंक्ति
% d = संदर्भ सूचक (शाखा, टैग) नाम
% ए = लेखक का नाम
-तारीख = संक्षिप्त: केवल पढ़ने योग्य प्रारूप में दिनांक और समय नहीं मुद्रित करें

अब, रंगों का उपयोग करके इस आउटपुट को अधिक मानव-अनुकूल कैसे बनाया जाए।
आदेश:
git log --pretty = format: '% C (पीला)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% a] '- लघु = छोटा


उपरोक्त कोड स्निपेट में प्रयुक्त कुछ अन्य प्लेसहोल्डर हैं:
% C (पीला) : निम्न स्ट्रिंग को पीले रंग में बदलें
% Creset : डिफ़ॉल्ट (सफेद) रंग के लिए निम्नलिखित स्ट्रिंग को रीसेट करें
% Cgreen : स्ट्रिंग को हरे रंग में बदलना
%मुझे लगता है: निम्नलिखित स्ट्रिंग को लाल रंग में बदलें
% कबल: लेखक का नाम नीले रंग से बनाएं

आपको हर बार पूरे कमांड को याद रखने और लिखने की ज़रूरत नहीं है, बस एक संक्षिप्त नाम का उपयोग करें git उर्फ जैसा कि नीचे दिया गया है:
आदेश:
git config --global alias.c-hist 'log --pretty = format:'% C (पीला)% h% Creset% विज्ञापन | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% a] '- dd ='

'सी-हिस्ट' का प्रतिनिधित्व करता है सी ustomized- हिस्ट ओरी
इसलिए, जैसा कि आपने देखा होगा कि मैं अपना ग्लोबल सेट कर रहा हूं गिट विन्यास मूल्यों के साथ फाइल करें।

जावा में सिंगलटन क्लास बनाने के तरीके

अब, वर्तमान शाखा के इतिहास की जाँच करने के लिए आपको बस इतना ही करना है:
आदेश: सी-हिस्ट

१.२- सब्ब्रव-कमिट: शॉर्टन गेट कमिट हैश-आईडी

आदेश: git log --abbrev-प्रतिबद्ध
पूर्ण 40-बाइट हेक्साडेसिमल कमिटमेंट नाम को डिफ़ॉल्ट 7-बाइट्स के लिए छोटा कर दिया गया है।


हमें इसे it के साथ क्लब करें--एक लकीरसुविधाजनक दृश्य के लिए convenient विकल्प, जैसे:
आदेश: git log --abbrev-प्रतिबद्ध --online

क्या अधिक रोमांचक है कि आप ab -abbrev = 'विकल्प का उपयोग करके sha-1 id की बाइट लंबाई निर्दिष्ट कर सकते हैं, जैसा कि नीचे दिखाया गया है:
आदेश: git log --abbrev-प्रतिबद्ध --abbrev = 5 --online



स्पष्ट रूप से, हाइलाइट की गई श -1 आईडी 5-बाइट आकार में कम हो जाती हैं।

१.३ -नो-अब्बर-कमिट

पूर्ण 40-बाइट हेक्साडेसिमल कमिट ऑब्जेक्ट नाम दिखाएं।
यह उपेक्षा करता है —बबेरव-कमिट और वे विकल्प जो अर्थपूर्ण हैं
यह '-ऑनलाइन' के रूप में है।
आदेश: git log --pretty = oneline --no-abbrev-प्रतिबद्ध



१.४-संबंधी-तिथि

आदेश: git लॉग-रिलेटिव-डेट

कृपया ध्यान दें, इस हाइलाइट किए गए समय को आपके सिस्टम पर कमांड को निष्पादित करने के समय के संदर्भ में बदलने के अधीन किया गया है।

१.५ -डेट =

आप निम्न प्रारूप विकल्पों में से किसी में भी कमिट लॉग्स फॉर्मेट कर सकते हैं:

1.5.1 –डेट = सापेक्ष

कमान :गिट लॉग --डेट = रिश्तेदार
यह उपरोक्त आदेश का पर्याय है ”git लॉग-रिलेटिव-डेट”और उसी को छापता है।

1.5.2 –डेट = स्थानीय

कमान : git log --date = स्थानीय

1.5.3 –डेट = आइसो

आदेश: git log --date = iso

1.5.4 –डेट = आइसो-सख्त

आदेश: git log --date = iso-सख्त

1.5.5 -date = rfc

आदेश: git log --date = rfc

१.५.६ –दते = अल्प

आदेश: गिट लॉग --डेट = छोटा

1.5.7 –डेट = कच्चा (सेकंड में दिनांक दिखाता है)

आदेश: गिट लॉग --डेट = कच्चा
के बाद से सेकंड के रूप में समय मुद्रित करें यूनिक्स एपोक समय (जनवरी 01 1970) समय के बाद।

१.५. 1.5 –दते = मानव

आदेश: git log --date = मानव

१.५.९ –दते = यूनिक्स

दिनांक के रूप में दिखाता है यूनिक्स एपोक (UTC) समय।
आदेश: git log --date = unix

१.६- वानर

प्रारूप में प्रत्येक प्रतिबद्ध के माता-पिता को भी प्रिंट करें:
आदेश: गिट लॉग - अपरेंट्स
Oneliner उत्पादन कमान: git लॉग - अपरेंट्स --ऑनलाइन

ध्यान दिए जाने वाले बिंदु:
C366419 एक मर्ज कमिट है, इसलिए क्रमशः 2 माता-पिता हैं: शुल्कबी 30 सी तथा 4920adc
इसी तरह

1d67b50 एक मर्ज कमेटी है, जिसका परिणाम विलय है f2ff2e4 तथा abb694b
078f9f5 मर्ज करके बनाई गई मर्ज कमेटी है 9 ए 2412 ई तथा ab3a5e5
जहाँ तक, 86792 सी 6 प्रारंभिक प्रतिबद्धता है, इसलिए कोई अभिभावक नहीं है।

1.7-बच्चों के लिए

फॉर्म में बच्चों को भी प्रिंट करें
आदेश: git log --children --online

ध्यान दें :
006b9ce नवीनतम प्रतिबद्धता है, इसलिए अभी तक किसी भी बच्चे ने वस्तु नहीं बनाई है। इस शाखा में आपके द्वारा किया गया अगला बदलाव और इस नवीनतम sha-1 id का बच्चा प्रतिबद्ध वस्तु होगा।

1.8 -ग्राफ

Sha-1 id से पहले प्रतिबद्ध इतिहास का एक पाठ-आधारित चित्रमय चित्रण बनाएं।
आदेश: गिट लॉग --graph
बेहतर oneliner उत्पादन: git log --graph --online


इससे आप समझ सकते हैं कि कब, कैसे और क्यों और अन्य शाखाओं को वर्तमान में जाँच की गई शाखा में विलय कर दिया गया था।

1.9 -शो-रैखिक-विराम

आदेश: गिट लॉग --show- रैखिक-विराम
यह एक उपयोगी कमांड है, जो लगातार 2 हिट्स के बीच एक बाधा को इंगित करने के लिए है जो कि एक रैखिक शाखा से संबंधित नहीं है, दूसरे शब्दों में जो अलग-अलग शाखाओं से आए हैं।


उपरोक्त आउटपुट की तुलना – git log -graph 'कमांड आउटपुट से करें जो स्पष्ट रूप से दिखाता है कि 'लीनियर-ब्रेक' कमिट का विलय कैसे किया गया है।

बोनस: संक्षेप में लॉग लॉग आउटपुट: Sum गिट शॉर्टलॉग ’

गिट शॉर्टलॉग‘कमांड कमिट लॉग लेखक को श्रेणीबद्ध करता है और एक सारांश सारांश प्रिंट करता है, जो प्रत्येक लेखक द्वारा किए गए कमिट को दर्शाता है।
आदेश: git लॉग शॉर्टलॉग

कमान : git लॉग शॉर्टलॉग -s
-s का अर्थ है -सुमरी, प्रतिबद्ध विवरण को दबाएं और प्रत्येक लेखक द्वारा कमिट्स की गिनती को प्रिंट करें, जैसे:

इसके अलावा, आप आउटपुट को उसी प्लेसहोल्डर का उपयोग करके प्रारूपित कर सकते हैं, जिस पर format के तहत चर्चा की गई है- व्याख्या = स्वरूप‘विकल्प
आदेश का प्रयास करें: गिट शॉर्टलॉग --फॉर्मैट = '% h | % s '

इसलिए, आप सहमत होंगे कि यह आउटपुट अधिक समझ में आता है क्योंकि यह आईडी और प्रत्येक लेखक के लिए कुल कमिट काउंट के साथ दिखाता है।

ध्यान दें : यह ध्यान रखना दिलचस्प है कि आप उस शाखा को आसानी से पा सकते हैं जिसने एक विशेष प्रतिबद्ध बनाया है। यह आगामी लेखों में इस चर्चा को गहराई से लेने लायक है।

तो इसके साथ, हम इसे समाप्त करते हैंलॉग फॉर्मेट का इतिहासब्लॉग, मुझे आशा है कि आपको यह जानकारीपूर्ण लगा।

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

यदि आप अधिक जानने के लिए उत्सुक हैं तो आप इसे देख सकते हैं 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। Edureka DevOps प्रमाणन प्रशिक्षण पाठ्यक्रम शिक्षार्थियों को यह समझने में मदद करता है कि DevOps क्या है और विभिन्न DevOps प्रक्रियाओं में विशेषज्ञता प्राप्त करता है और कठपुतली, जेनकींस, नगिओस, Ansible, शेफ, साल्टस्टैक और GIT जैसे विभिन्न चरणों को SDLC में स्वचालित करने के लिए।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया 'Git log format history' पर इस लेख के टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपके पास वापस आ जाएंगे।