गिट गाइड
Git ट्री विज़ुअलाइज़र और व्यूअर: अपने Git इतिहास को ग्राफ़ के रूप में कैसे देखें
अपने Git इतिहास को एक ट्री के रूप में देखने के तीन तरीके: आपके टर्मिनल में git लॉग ग्राफ़, gitk, और एक क्लिक करने योग्य GUI कमिट ग्राफ़। फिर लेन और मर्ज पढ़ना सीखें और अपनी आवश्यक प्रतिबद्धता ढूंढें।

एक गिट ट्री विज़ुअलाइज़र आपके कमिट इतिहास को एक ग्राफ़ के रूप में खींचता है: प्रत्येक बिंदु एक कमिट है, प्रत्येक रंगीन रेखा एक शाखा है, और एक बिंदु पर मिलने वाली दो रेखाएँ एक मर्ज है। Git स्वयं दो के साथ आता है: किसी भी टर्मिनल में git log --graph --oneline --all --decorate चलाएँ, या gitk --all खोलें। जब आप इतिहास चाहते हैं तो आप क्लिक कर सकते हैं, फ़िल्टर कर सकते हैं और खोज सकते हैं, macOS, Windows और Linux के लिए जीयूआई कमिट ग्राफ़ जैसे GitTree, एक डेस्कटॉप गिट क्लाइंट का उपयोग कर सकते हैं।
यह गाइड इन तीनों से होकर गुजरती है, फिर दिखाती है कि लेन कैसे पढ़ें और कमिट को कैसे मर्ज करें और हजारों में से एक कमिट को कैसे खोजें। एक संक्षिप्त खुलासा: GitTree के निर्माता ने इसे लिखा है। कमांड-लाइन और gitk अनुभागों को Git के अलावा और कुछ नहीं चाहिए।
Git लॉग ग्राफ़: ट्री व्यू पहले से ही Git में निर्मित है
सबसे तेज़ Git ट्री व्यू एक कमांड है। यह किसी भी रिपॉजिटरी में, SSH पर और Git द्वारा चलने वाले प्रत्येक सिस्टम पर काम करता है:
git log --graph --oneline --all --decorate--graphशाखाओं का एक टेक्स्ट ग्राफ़ बनाता है और प्रत्येक कमिट के बाईं ओर विलय करता है। यह इस बात के लिए भी प्रतिबद्ध है कि कोई भी माता-पिता अपने बच्चों के सामने न आएं।--onelineप्रति कमिट एक पंक्ति प्रिंट करता है: लघु हैश और संदेश की पहली पंक्ति।--allप्रत्येक शाखा, दूरस्थ शाखा और टैग प्लसHEADको दिखाता है, न कि केवल उस शाखा को जिस पर आप हैं। इसके बिना, जो शाखाएँ आपकी वर्तमान शाखा में विलय नहीं हुई हैं वे छिपी रहती हैं।--decorateजिस कमिट की ओर वे इशारा करते हैं उसके आगे शाखा और टैग नाम प्रिंट करता है। जब आउटपुट किसी टर्मिनल पर जाता है तो Git पहले से ही ऐसा करता है, इसलिए फ़्लैग अधिकतर तब मायने रखता है जब आप आउटपुट को पाइप करते हैं याlog.decorateबदल चुके होते हैं।
आउटपुट इस तरह दिखता है. नवीनतम कमिट शीर्ष पर है, * एक कमिट को चिह्नित करता है, और |, \ और / अक्षर शाखा रेखाएं हैं:
* a1b2c3d (HEAD -> main) Merge branch 'feature/search'
|\
| * 9f8e7d6 (feature/search) Highlight matched terms
| * 5c4b3a2 Add search index
* | 1a2b3c4 Fix typo in README
|/
* 0f9e8d7 (tag: v1.0.0) Release 1.0.0इसे नीचे से ऊपर तक पढ़ें: v1.0.0 जारी किया गया था, फिर काम की दो लाइनें एक साथ चलीं (main पर एक रीडमी फिक्स, अपनी शाखा पर एक खोज सुविधा), और शीर्ष पर मर्ज उन्हें फिर से जोड़ दिया।
इसे संक्षिप्त उपनाम के रूप में सहेजें
कोई भी हर बार चार झंडे टाइप नहीं करना चाहता। एक Git उपनाम पूरे कमांड को git tree में बदल देता है:
git config --global alias.tree "log --graph --oneline --all --decorate"
git treeजानने लायक चार विविधताएँ
git log --graph --oneline --first-parent main
git log --graph --oneline --all --simplify-by-decoration
git log --graph --oneline main..feature/search
git log --graph --pretty=format:"%h %an %ar %s"--first-parentप्रत्येक मर्ज के केवल पहले माता-पिता का अनुसरण करता है, इसलिएmainउस पर क्या हुआ इसकी एक सीधी सूची के रूप में पढ़ता है, प्रति फीचर एक मर्ज।--simplify-by-decorationकेवल कमिट को एक शाखा या टैग पॉइंट रखता है: बीच में कमिट के बिना आपके Git शाखा पेड़ की एक रूपरेखा।main..feature/searchshows the commits onfeature/searchthat are not inmainyet, which is what a merge would bring in.--pretty=formatप्रत्येक पंक्ति में लेखक और एक संबंधित तारीख ("3 दिन पहले") जोड़ता है।
gitk: Git इतिहास दर्शक जो Git के साथ आता है
gitk Git का अपना ग्राफिकल रिपोजिटरी ब्राउज़र है, जो Tcl/Tk में लिखा गया है। यह कमिट ग्राफ़ खींचता है, प्रत्येक कमिट का विवरण दिखाता है और प्रत्येक संशोधन में फ़ाइलों को सूचीबद्ध करता है। इसे रिपॉजिटरी के अंदर से प्रारंभ करें:
gitk --allgitk वही सीमाएं स्वीकार करता है जो git log करता है, इसलिए आप इसे एक समय सीमा या फ़ोल्डर तक सीमित कर सकते हैं। यह केवल src/ के अंतर्गत पिछले दो सप्ताह के परिवर्तनों को खोलता है:
gitk --since="2 weeks ago" -- src/यदि आपका शेल उत्तर gitk: command not found देता है, तो आपके Git इंस्टॉलेशन ने इसे छोड़ दिया है। Debian और Ubuntu पर, gitk एक अलग पैकेज है:
sudo apt install gitkgitk इतिहास पढ़ने के लिए बनाया गया है। इसके राइट-क्लिक मेनू में कुछ प्रतिबद्ध क्रियाएं हैं, लेकिन प्रतिबद्धता बनाना इसके सहोदर टूल, git gui से संबंधित है, जो अपने स्वयं के दस्तावेज़ीकरण द्वारा प्रोजेक्ट इतिहास नहीं दिखाता है। रोजमर्रा के काम के लिए आपको दो विंडो और टर्मिनल के बीच स्विच करना पड़ता है।
एक GUI प्रतिबद्ध ग्राफ़: एक Git ट्री व्यू जिसे आप क्लिक कर सकते हैं
एक डेस्कटॉप Git क्लाइंट एक ही पेड़ बनाता है, लेकिन प्रत्येक पंक्ति लाइव होती है। किसी कमिट का संदेश, माता-पिता और परिवर्तित फ़ाइलें देखने के लिए उसका चयन करें। एक शाखा बनाने, चेरी-पिक या रिवर्ट करने के लिए इसे राइट-क्लिक करें। किसी शाखा लेबल को जांचने के लिए उस पर डबल-क्लिक करें, या मर्ज या रीबेस करने के लिए एक शाखा को दूसरी शाखा पर खींचें। GitTree में कमिट ग्राफ़ एक अलग व्यूअर के बजाय मुख्य विंडो है।

यहां बताया गया है कि GitTree बिंदुओं और रेखाओं से परे, ग्राफ़ पर क्या खींचता है:
- प्रत्येक शाखा के लिए रंग-कोडित लेन, उनके द्वारा इंगित किए जाने वाले कमिट पर स्थानीय, दूरस्थ और टैग लेबल के साथ।
- आपके द्वारा अभी तक नहीं किए गए परिवर्तनों के लिए नवीनतम कमिट के ऊपर एक
// WIPपंक्ति, और उस कमिट पर ग्राफ़ पर खींचा गया प्रत्येक स्टैश जहां से इसे बनाया गया था। - हस्ताक्षरित प्रतिबद्धताओं पर लेखक अवतार और हस्ताक्षर बैज।
- एक बार जब आप GitHub, GitLab, Bitbucket या Azure DevOps कनेक्ट कर लें तो शाखा युक्तियों पर अनुरोध और CI-चेक चिप्स खींच लें।
- 100,000 कमिट्स के बाद आसानी से स्क्रॉल करना (Linux पर मापा गया), ताकि बड़े इतिहास उपयोग योग्य बने रहें।
GitTree आपके कंप्यूटर पर पहले से स्थापित Git चलाता है (संस्करण 2.39 या नया), इसलिए प्रत्येक बटन वही करता है जो मिलान कमांड करेगा। यदि आप अभी भी दो शैलियों के बीच निर्णय ले रहे हैं, तो हमारी तुलना गिट जीयूआई बनाम कमांड लाइन का उपयोग करके ट्रेड-ऑफ को कवर करती है।
Git कमिट ग्राफ़ कैसे पढ़ें: लेन, फ़ोर्क और मर्ज
चाहे टर्मिनल में ग्राफ़ ASCII हो या विंडो में रंगीन हो, समान नियम लागू होते हैं:
| आप क्या देखते हैं | इसका क्या मतलब है |
|---|---|
एक बिंदु (टर्मिनल में *) | एक प्रतिबद्धता. नई प्रतिबद्धताएं पुरानी प्रतिबद्धताओं से ऊपर हैं। |
| एक ऊर्ध्वाधर रेखा, या लेन | विकास की एक पंक्ति: प्रतिबद्धताएँ जो एक शाखा पर एक दूसरे का अनुसरण करती हैं। |
| एक रेखा जो विभाजित हो जाती है | उस कमिट से किसी ने एक शाखा शुरू की और दो जगह काम चलता रहा। |
| दो रेखाएं एक बिंदु पर मिल रही हैं | एक मर्ज प्रतिबद्धता. इसके दो जनक हैं, प्रत्येक पंक्ति से एक। |
एक लेबल जैसे कि main, origin/main या v1.0.0 | एक स्थानीय शाखा, एक दूरस्थ शाखा या उस प्रतिबद्धता की ओर इशारा करने वाला एक टैग। आपने जो चेक आउट किया है उसे HEAD -> चिह्नित करता है। |
| एक सीधी रेखा, कोई कांटा नहीं | रैखिक इतिहास, आमतौर पर तेजी से आगे बढ़ने वाले विलय या विलय से पहले रिबेसिंग से। |
मर्ज कमिट पढ़ना
मर्ज कमिट के दो पैरेंट होते हैं। पहली मूल शाखा वह शाखा है जिसमें आप विलय के समय थे, आमतौर पर main। दूसरी वह शाखा है जिसमें आपने विलय किया है। यही कारण है कि --first-parent main का इतना स्पष्ट सारांश देता है: यह प्रत्येक फीचर शाखा के अंदर को छोड़ देता है। GitTree में, एक मर्ज चुनें और विवरण पैनल दोनों मूल हैश को सूचीबद्ध करता है।

जब गलियाँ पार हो जाती हैं और चित्र व्यस्त हो जाता है
लंबे समय तक जीवित रहने वाली शाखाएँ जो आगे और पीछे विलीन होती हैं, गलियों को क्रॉस बनाती हैं। कुछ भी टूटा नहीं है; स्क्रीन पर आपकी आवश्यकता से कहीं अधिक है। इसे उन शाखाओं तक काटें जिनकी आप परवाह करते हैं। टर्मिनल में, --all का उपयोग करने के बजाय उन्हें नाम दें, उदाहरण के लिए git log --graph --oneline main feature/search। GitTree में, एक शाखा लेबल पर राइट-क्लिक करें और केवल उस शाखा को दिखाने के लिए ग्राफ़ में छुपाएं, ग्राफ़ में सोलो चुनें, या पहले कॉलम में उसकी लेन को बनाए रखने के लिए बाईं ओर पिन करें चुनें।
गिट इतिहास खोजें: हजारों में से एक कमिट खोजें
पेड़ देखना आधा काम है. अन्य आधा हिस्सा उस कमिट को ढूंढ रहा है जिसने उस चीज़ को बदल दिया है जिसे आप डिबग कर रहे हैं।
कमांड लाइन से खोजें
git log --oneline --author="Jane"
git log --oneline --since="2 weeks ago" -- src/
git log --oneline -S"parse_header"
git log --oneline -G"fn [a-z_]+_header"--authorउन प्रतिबद्धताओं को रखता है जिनके लेखक का नाम या ईमेल पैटर्न से मेल खाता है।- दिनांक के अनुसार
--sinceऔर--untilसीमा, और-- src/केवल वही कमिट रखता है जो उस पथ को छूता है। -S, "पिकैक्स", उन कमिट्स को ढूंढता है जो एक स्ट्रिंग जोड़ते या हटाते हैं। यह जानने का सबसे तेज़ तरीका है कि कोई फ़ंक्शन कब दिखाई दिया या गायब हो गया।-Gऐसे कमिट ढूँढ़ता है जिनकी जोड़ी गई या हटाई गई पंक्तियाँ रेगुलर एक्सप्रेशन से मेल खाती हैं। POSIX ब्रैकेट एक्सप्रेशन जैसे कि[a-z_]या[[:alnum:]]पर टिके रहें:\wजैसे शॉर्टकट हर Git बिल्ड के साथ काम नहीं करते हैं।
लेखक:, फ़ाइल: के साथ GitTree में खोजें और बदलें:
ग्राफ़ के ऊपर की खोज (खोज लोडेड इतिहास) एक संदेश, लेखक, हैश, शाखा या टैग से मेल खाती है। गहन खोज के लिए, Ctrl+Shift+P (Mac पर ⌘+Shift+P) के साथ कमांड पैलेट खोलें, # टाइप करें, फिर अपनी क्वेरी टाइप करें। बिना उपसर्ग खोज वाले शब्द संदेश भेजते हैं, और ये उपसर्ग परिणाम को सीमित करते हैं:
author:janeयाauthor:"Jane Doe": लेखक के नाम या ईमेल में वह पाठ शामिल है।file:src/main.rs: प्रतिबद्धता उस पथ को छूती है। कई पथों का मिलान करने के लिए इसे दोहराएं।change:parse_header: कमिट उस स्ट्रिंग को जोड़ता या हटाता है, जैसे किgit log -S।change:/fn [a-z_]+_header/: एक बदली हुई रेखा नियमित अभिव्यक्ति से मेल खाती है, जैसेgit log -G।
उन्हें एक क्वेरी में संयोजित करें: #fix crash author:jane file:src/ जेन की प्रतिबद्धताओं को ढूंढता है जिसमें "क्रैश को ठीक करें" का उल्लेख है और src/ को स्पर्श करें। परिणामों को सूचीबद्ध करने के बजाय ग्राफ़ को छोटा करने के लिए, केवल एक लेखक, दिनांक सीमा या पथ रखने के लिए फ़िल्टर ग्राफ़… का उपयोग करें।

अपना Git ट्री GitTree में देखें
इंस्टॉल करें GitTree
डाउनलोड करें GitTree macOS, Windows या Linux के लिए और इसे इंस्टॉल करें। सुनिश्चित करें कि Git 2.39 या नया इंस्टॉल किया गया है (Windows पर, इसका मतलब है कि Git for Windows); Ubuntu 22.04 एक पुराना Git शिप करता है, इसलिए पहले Ubuntu पर Git अपग्रेड करें।
साइन इन करें और प्रारंभ करें
जब GitTree खुलता है, तो अपने ईमेल या Git प्रदाता के साथ gittree.app पर बनाए गए GitTree खाते से साइन इन करें: ग्राफ़ और हर अन्य Git सुविधा तब मुफ़्त योजना पर होती है। होस्टिंग एकीकरण (GitHub, GitLab, बिटबकेट और एज़्योर डेवऑप्स, निजी रिमोट शामिल हैं) और Nour, एआई सहायक, GitTree प्रो के साथ आते हैं, जो नि:शुल्क परीक्षण के साथ शुरू होता है; नि:शुल्क योजना इसके बाद भी जारी रहती है।
किसी रिपॉजिटरी को खोलें या क्लोन करें
प्रारंभ पृष्ठ पर, खोलें चुनें और एक फ़ोल्डर चुनें जिसमें Git रिपॉजिटरी हो, या HTTPS या SSH पर URL से कॉपी करने के लिए क्लोन चुनें।
ग्राफ़ पढ़ें
कमिट ग्राफ मुख्य विंडो को भरता है: शीर्ष पर नवीनतम कमिट, प्रति शाखा एक रंगीन लेन, शाखाओं और टैग के लिए लेबल। किसी भी कमिट का संदेश, मूल बातें और परिवर्तित फ़ाइलें देखने के लिए उस पर क्लिक करें।
ध्यान केंद्रित करें और खोजें
किसी शाखा लेबल को छिपाने, एकल करने या पिन करने के लिए उस पर राइट-क्लिक करें, किसी लेखक, दिनांक सीमा या पथ के लिए फ़िल्टर ग्राफ़... का उपयोग करें, और
author:,file:याchange:के साथ खोजने के लिए कमांड पैलेट में#टाइप करें।
आपको किस Git ट्री विज़ुअलाइज़र का उपयोग करना चाहिए?
| विकल्प | के लिए सर्वोत्तम | आपको क्या चाहिए |
|---|---|---|
git log --graph | त्वरित रूप, एसएसएच सत्र, स्क्रिप्ट और सीआई लॉग | केवल गिट |
| gitk | Git सुइट से ही क्लिक करने योग्य ग्राफ़ | Git (Debian और Ubuntu पर, अलग gitk पैकेज) |
| GitTree | एक ही विंडो में इतिहास पढ़ना, खोजना और बदलना | GitTree (प्रत्येक Git सुविधा के लिए निःशुल्क योजना, GitTree खाते के साथ; Nour प्रो के साथ) और Git 2.39 या नए |
अधिकांश डेवलपर्स एक से अधिक का उपयोग करते हैं: त्वरित रूप से देखने के लिए टर्मिनल, इतिहास को खंगालने के लिए एक जीयूआई और देखने में आसान संपादनों के लिए, जैसे जीयूआई में इंटरैक्टिव रिबेस। यदि आप शाखाओं और कमिटों में नए हैं, तो हमारे शुरुआती गाइड के लिए गिट से शुरुआत करें, फिर मुफ्त पाठ में इतिहास पढ़ने का अभ्यास करें कमिट, हेड और रिवीजन रेंज पढ़ें, और जानें कि एक अलग HEAD क्या है अलग काम रखें। यदि आप डेस्कटॉप ऐप्स की तुलना करना चाहते हैं, तो सर्वोत्तम Git GUI क्लाइंट का हमारा राउंड-अप देखें।
GitTree के पास एक नि:शुल्क योजना है जो प्रत्येक Git सुविधा को कवर करती है, जिसमें निजी रिपॉजिटरी भी शामिल है, और Nour, AI सहायक, GitTree प्रो के साथ आता है। देखें वह सब कुछ जो कमिट ग्राफ़ और बाकी ऐप कर सकता है, या Mac, Windows और Linux के लिए इंस्टॉल नोट्स पढ़ें।
अक्सर पूछे जाने वाले प्रश्न
गिट ट्री विज़ुअलाइज़र क्या है?
गिट ट्री विज़ुअलाइज़र एक उपकरण है जो एक रिपॉजिटरी के प्रतिबद्ध इतिहास को एक फ्लैट सूची के बजाय एक ग्राफ़ के रूप में खींचता है। प्रत्येक कमिट एक बिंदु है, प्रत्येक शाखा एक रेखा है, और मर्ज वहां दिखाई देते हैं जहां रेखाएं जुड़ती हैं। Git में दो शामिल हैं: टर्मिनल के लिए git log --graph कमांड और gitk विंडो। डेस्कटॉप Git क्लाइंट जैसे कि GitTree एक क्लिक करने योग्य, खोजने योग्य ग्राफ़ जोड़ते हैं।
मैं टर्मिनल में Git शाखा वृक्ष को कैसे देख सकता हूँ?
रिपॉजिटरी के अंदर git log --graph --oneline --all --decorate चलाएँ। --graph शाखा रेखाएँ खींचता है, --oneline प्रत्येक को एक पंक्ति में रखता है, --all केवल वर्तमान शाखा के बजाय प्रत्येक शाखा और टैग को शामिल करता है, और --decorate शाखा और टैग नाम प्रिंट करता है। इसे उपनाम के रूप में git config --global alias.tree "log --graph --oneline --all --decorate" के साथ सहेजें और उसके बाद से git tree टाइप करें।
Git लॉग मेरी सभी शाखाएँ क्यों नहीं दिखाता?
डिफ़ॉल्ट रूप से git log केवल उन कमिटों को सूचीबद्ध करता है जिन तक पहुंच संभव है HEAD से, जिस कमिट को आपने चेक आउट किया है। जो शाखाएँ आपकी वर्तमान शाखा में विलय नहीं हुई हैं उन्हें छोड़ दिया गया है। प्रत्येक स्थानीय शाखा, दूरस्थ शाखा और टैग को शामिल करने के लिए --all जोड़ें, या अपनी इच्छित शाखाओं को नाम दें, उदाहरण के लिए git log --graph main feature/search।
क्या Gitk को Git के साथ स्थापित किया गया है?
gitk Git सुइट का हिस्सा है, इसलिए कई इंस्टॉलेशन में यह शामिल है। कुछ Linux वितरण इसे अलग से पैकेज करते हैं: Debian और Ubuntu पर, इसे sudo apt install gitk के साथ स्थापित करें। प्रत्येक शाखा को देखने के लिए इसे रिपॉजिटरी के अंदर से gitk --all से प्रारंभ करें। यह उसी दिनांक और पथ सीमा को स्वीकार करता है जैसे कि git log, जैसे कि --since या -- src/।
मैं उस कमिट को कैसे ढूंढूं जिसने कोड की एक विशिष्ट पंक्ति जोड़ी है?
कुदाली खोज का प्रयोग करें. git log -S"text" उन प्रतिबद्धताओं को सूचीबद्ध करता है जो बदलती हैं कि सटीक स्ट्रिंग कितनी बार दिखाई देती है, जो दिखाती है कि इसे कब जोड़ा और हटाया गया था। git log -G"regex" किसी रेगुलर एक्सप्रेशन के विरुद्ध जोड़ी गई या हटाई गई पंक्तियों से मेल खाता है। GitTree में, कमांड पैलेट खोलें, # टाइप करें और समान खोजों के लिए change:text या change:/regex/ का उपयोग करें।
क्या GitTree मुफ़्त है, और यह किन सिस्टमों पर चलता है?
GitTree has a Free plan that covers every Git feature, for individuals and organizations, private repositories and commercial use included, with no time limit and no credit card. Nour, the AI assistant, comes with GitTree Pro; the Pricing page compares the two plans. It runs on macOS 13 or later, 64-bit Windows 10 and 11, and 64-bit Linux (Ubuntu 22.04 or later, Debian 12 or later). It asks you to sign in with a GitTree account and uses the Git already installed on your computer, version 2.39 or newer; GitTree Pro is required for hosting integrations.
क्या Git ग्राफ़ व्यूअर बहुत बड़े रिपॉजिटरी को संभाल सकता है?
टर्मिनल ग्राफ़ किसी भी आकार को संभालता है लेकिन कई शाखाओं के साथ पढ़ना कठिन हो जाता है; इसे शाखा नाम, --since या पथ तक सीमित करें। GitTree का कमिट ग्राफ़ Linux पर माप में 100,000 कमिट के बाद आसानी से स्क्रॉल करता है, और आप एक बड़े इतिहास को पढ़ने योग्य बनाए रखने के लिए शाखाओं को छिपा सकते हैं, एकल या पिन कर सकते हैं और लेखक, तिथि या पथ के अनुसार फ़िल्टर कर सकते हैं।
सूत्र
अन्य उत्पादों के बारे में दावों की जाँच उनके आधिकारिक पेजों के विरुद्ध 22 अक्टूबर 2026 पर की गई। कीमतें और सुविधाएँ बदलती हैं; विक्रेताओं के पृष्ठ सत्य का स्रोत हैं।