गाइड समझने के लिए gitk? [बन्द है]


83

मैं डेवलपर्स की एक टीम के लिए git की शुरुआत कर रहा हूं और मैं gitk को एक अद्भुत उपकरण मानता हूं। इसे समझना भी काफी कठिन है, क्योंकि gitk को समझने के लिए git हिस्ट्री और व्यूअर टूल दोनों की समझ की आवश्यकता होती है।

क्या किसी के पास किसी चीज का कोई अच्छा संदर्भ है जैसे "शुरुआती इतिहास को गिटक के साथ रखने के लिए गाइड"?



ब्लॉग Lostechies.com/joshuaflanagan/2010/09/03/… gitk की प्रस्तुति के माध्यम से चलता है और gitk के राइट-क्लिक मेनू को समझने में मदद कर सकता है।
कोपपोर

जवाबों:


93

मैंने विशेष रूप से गिटक के लिए कुछ भी नहीं देखा है। यहाँ एक छुरा है, "यह कैसे काम करता है" दृष्टिकोण से। आज्ञाओं को जानना जो सब कुछ के पीछे हैं (या कम से कम आम तौर पर समकक्ष) कमांड-लाइन टूल का अधिक आसानी से उपयोग करने के लिए सीखने में मदद करता है, और आपको यह भी दिखाता है कि gitk को बेहतर समझने के लिए प्रलेखन में कहां देखना है!

फ़ाइल मेनू

यह पिछले कुछ प्रमुख संस्करणों में कुछ हद तक बदल गया है - मैं वर्तमान स्थिति का वर्णन कर रहा हूं।

  • अद्यतन और पुनः लोड करें: यह संभवतः सबसे भ्रमित करने वाली बात है। पुनः लोड सब कुछ ताज़ा करता है जैसे कि आपने उसी कॉन्फ़िगरेशन के साथ प्रोग्राम शुरू किया था। इसका मतलब है कि अगर किसी शाखा को हटा दिया गया है / विद्रोह कर दिया गया है, अगर कुछ कमिट अब झूलने लगे हैं, तो आप उन्हें अब नहीं देखते हैं। दूसरी ओर अपडेट, सभी सूचनाओं को ताज़ा करता है, लेकिन फिर भी उन सभी कमिटों को दिखाता है जो पहले दिखाए गए थे। यह उपयोग करने के लिए एक उत्कृष्ट बात है यदि आप रिबासिंग कर रहे हैं और यह सुनिश्चित करना चाहते हैं कि आपने गड़बड़ नहीं की है - आप मूल और विद्रोही दोनों संस्करणों को देख सकते हैं।

  • संदर्भ: बहुत स्पष्ट। संदर्भ में टैग और शाखाएं शामिल हैं (जो दूरस्थ हो सकती हैं)। आप उन्हें फिर से पढ़ सकते हैं, और इतिहास में इसे दिखाने के लिए किसी विशेष पर क्लिक करने के लिए सूची बना सकते हैं।

विचारों

जैसा कि मैन पेज कहता है, gitk इतिहास को दर्शाने के लिए यह बताने में मदद के लिए git-rev-list विकल्प लेता है। इन्हें "व्यू" मेनू में अंतःक्रियात्मक रूप से सेट किया जा सकता है। मैन पेज उन तरीकों के बारे में अधिक जानकारी प्राप्त करने के लिए एक उत्कृष्ट स्थान है जहां आप विचारों को नियंत्रित कर सकते हैं (यह ज्यादातर कमिटिंग सेक्शन में है)। यदि आपने पहले देखा है git-log, तो आपने बहुत कुछ देखा होगा।

मदद

यहाँ कीबाइंडिंग की एक सूची है! मिठाई।

संदर्भ की विकल्प - सूची

यह कई सामान्य गिट चीनी मिट्टी के बरतन आदेशों को प्रस्तुत करता है, आम तौर पर ऑपरेशन के एक सामान्य / डिफ़ॉल्ट मोड में। उन्हें सूचीबद्ध करने से कम से कम आपको यह समझने में सही दस्तावेज़ खोजने में मदद मिलेगी कि वे क्या करते हैं, अगर आप पहले से नहीं करते हैं!

  • git-diff (इसे चुनिए <-> चयनित करें
  • गिट-फॉर्मेट-पैच (पैच बनाएँ)
  • गिट-टैग (टैग बनाएं)
  • गिट-डिफरेंस-ट्री (फ़ाइल के लिए प्रतिबद्ध लिखें, शायद ही कभी इस्तेमाल किया गया हो
  • Git शाखा
  • Git-चेरी ले
  • git-reset (यहां पर रिसेट ब्रांच) यह आपको नरम, मिश्रित या कठोर के लिए संकेत देता है, प्रत्येक के संक्षिप्त अनुस्मारक के साथ। मैन पेज पर लंबा विवरण, लेकिन निश्चित रूप से आपको इसे प्राप्त करने के लिए सूचकांक की अवधारणा को समझना होगा।

इस बिंदु पर "कमिट ए कमिट" और संबंधित कमांड को स्व-व्याख्यात्मक होना चाहिए।

किसी शाखा के लिए संदर्भ मेनू में, हमारे पास git- शाखा का git-checkout और -d(डिलीट) मोड है।

मध्य भाग

  • SHA1 ID: वर्तमान प्रतिबद्ध का हैश। एक टर्मिनल पर कॉपी / पेस्ट के लिए बहुत उपयोगी है, दिए गए कमिट पर एक क्रिया करने के लिए जिसे आपने ढूंढने के लिए gitk का उपयोग किया था। आप यहां हैश का पेस्ट भी लगा सकते हैं।

  • आगे / पीछे बटन, पंक्ति संख्या ... स्पष्ट!

  • खोजें! यहाँ विकल्प फिर से आत्म-व्याख्यात्मक हैं, लेकिन हर किसी की शिक्षा के लिए, वे गिट-लॉग मापदंडों के अनुरूप हैं : "युक्त" है --grep, "स्पर्श पथ" तर्क हैं, और जोड़ने / हटाने स्ट्रिंग है -S(पिकैक्स)।

संदेश / अलग फलक

यहां हमारे पास git-diff के आउटपुट के साथ-साथ प्रतिबद्ध संदेश है - यह कुछ git-log -pअतिरिक्त उपयोग करने जैसा है :

  • "शाखाएँ" के बराबर है git branch -a --contains=<commit>

  • "पहले आता है" / "का पालन करता है" के बराबर है git describe [--contains] <commit>( Git-वर्णन )


उसके लिए gitk मेनू कमांड, +1 के लिए पर्याप्त है। आप "गिटक" भाग पर अच्छा कर रहे हैं, लेकिन मैं वास्तव में गिटक और इतिहास के संयोजन के कुछ स्पष्टीकरण की उम्मीद कर रहा था।
krosenvold

मैं इसे बेहतर उत्तर देना चाहूंगा! मुझे लगता है कि मैं git इतिहास की व्याख्या से आपका मतलब स्पष्ट नहीं हूँ। क्या यह ब्रांचिंग और मर्जिंग की अवधारणा है जिसे समझाने की आवश्यकता है? तथ्य यह है कि कमिट सीधे अपने हैश के माध्यम से पिछले प्रतिबद्ध पर निर्भर करता है? ऐसा लगता है कि एक बार स्क्रीन पर इतिहास को देखने के बाद आपको समझाने के लिए बहुत कुछ नहीं है।
Cascabel

मुझे क्षमा करें, हो सकता है कि मैं अभद्र हूं, लेकिन मुझे समझ नहीं आ रहा है कि कैसे git commit -aया सिर्फ git addगिटक में भी । क्या मुझे कुछ याद आ रहा है?
ubershmekel

2
@ubershmekel gitk उन चीजों में से कुछ भी नहीं करता है; यदि आप उनके लिए एक गुई चाहते हैं, तो अंतर्निहित एक है git gui। यह सवाल सिर्फ gitk के बारे में है, हालांकि, और gitk अनिवार्य रूप से एक इतिहास ब्राउज़िंग टूल है (थोड़ा शाखा हेरफेर के साथ)।
कैस्केबेल

24

यहाँ स्क्रीनशॉट के साथ gitk में शाखा इतिहास के दृश्य का परिचय दिया गया है।

http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/

  1. ऊपरी बाएं फलक इस भंडार के लिए आने वाली श्रृंखला दिखाता है, जिसके शीर्ष पर सबसे हाल ही में है।
  2. टोनी स्टार्क द्वारा सभी तीन हिट किए गए हैं।
  3. सबसे हालिया प्रतिबद्ध के लिए प्रतिबद्ध संदेश "तीसरी प्रतिबद्ध" था
  4. एक एकल स्थानीय शाखा है, जिसका नाम "मास्टर" है, यह सबसे हालिया प्रतिबद्ध की ओर इशारा करता है
  5. एक एकल दूरस्थ संदर्भ शाखा है: "मूल" नामक दूरस्थ रिपॉजिटरी से "मास्टर" शाखा, यह सबसे हालिया प्रतिबद्ध की ओर भी इशारा करती है
  6. शीर्ष कमिट के बगल में पीली बिंदु इंगित करता है कि वर्तमान में मेरे काम करने वाले फ़ोल्डर में स्नैपशॉट है (हीड के रूप में संदर्भित)
  7. मैंने दूसरी प्रतिबद्धताओं पर प्रकाश डाला है, ताकि मैं इसके विवरण निचले फलक में देख सकूं
  8. दूसरी प्रतिबद्धता का
    3D SH24dd9e4a83d8c6a9a143a68b75d4b872115a6 की प्रतिबद्ध SHA (विशिष्ट पहचानकर्ता, तोड़फोड़ संशोधन संख्या के समान) है
  9. निचला दायाँ दूसरी प्रतिबद्ध द्वारा प्रभावित फाइलों की सूची दिखाता है
  10. निचले बाएं पूर्ण विवरण सहित प्रतिबद्ध विवरण दिखाते हैं
  11. निचले दाएं फलक में किसी फ़ाइल को क्लिक करने से निचले बाएँ फलक में इसी खंड 12 में अंतर स्क्रॉल होता है।

3

"गिटक और इतिहास के संयोजन" के संदर्भ में नौसिखिए वास्तव में क्या इस्तेमाल कर सकते हैं, यह एक विशिष्ट व्याख्या है कि कैसे पहचानें कि गीट वृक्ष के दृश्य को देखकर क्या हुआ।

जहाँ तक मुझे मिला - पेड़ को देखने का सही तरीका है (बेशक):

 1. each node is a commit
 2. ultimate parent is at the bottom
 3. direct child to a commit is the one that happened first in the same branch (no matter who did it)
 4. the node with 2 or more children indicates ... ?
 5. merge commit node has 2 parents.
 6. rebase is recognized ... ?

स्क्रीनशॉट की भी सराहना की जाएगी।

पेड़ वास्तव में रिपॉजिटरी की वर्तमान स्थिति का प्रतिनिधित्व कर रहा है। क्या अच्छा होगा अगर हम पेड़ के दृश्य को देखकर बता पाएंगे कि क्या हुआ।

धन्यवाद

वी


1
4., एक शाखा, 6. ... बिल्कुल भी नहीं क्योंकि यह केवल मौजूदा
आवागमन को फिर से चालू

1

केवल एक चीज जो मुझे gitk इंटरफ़ेस के बारे में उपयोगी लगती है वह है अच्छी (रंगीन) शाखाओं का अवलोकन ..

यदि आप गिट के लिए एक gui चाहते हैं, तो विंडोज़ पर TortoiseGit या Mac पर GitX या linux पर QGit की जाँच करें।


4
मुझे लगता है कि यह जल्दबाजी का फैसला है। ज़रूर, कार्रवाई बिल्डर शांत है, लेकिन गिट संदर्भ संदर्भ मेनू में निर्मित सामान का एक बहुत गायब है। gitk दृश्य प्रतिक्रिया के साथ शाखाओं में हेरफेर करने के लिए एक बहुत ही आसान तरीका प्रदान करता है, जो नए उपयोगकर्ताओं के लिए विशेष रूप से उपयोगी है।
Cascabel

1
मैं क्ली को अधिक पसंद करता हूं, लेकिन कभी-कभी मैं सिर्फ शाखाओं और मर्जों को देखने के लिए गिटक का आह्वान करता हूं। मैं नए उपयोगकर्ताओं के लिए gitk इंटरफ़ेस की सिफारिश नहीं करूँगा .. शायद उन्हें डराएँ?
डेवी लैंडमैन

अजीब तरह से, मुझे लगता है कि आप दोनों सही हैं।
इन्नाएम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.