2011-03-21 14 views
60

पढ़ने के लिए Git समुदाय पुस्तक में, यह कहता हैकैसे Git लॉग ग्राफ

एक और दिलचस्प बात यह है कि आप कर सकते हैं कल्पना है '--graph' विकल्प के साथ ग्राफ प्रतिबद्ध है, तो जैसे:

$ git log --pretty=format:'%h : %s' --graph 
* 2d3acf9 : ignore errors from SIGCHLD on trap 
* 5e3ee11 : Merge branch 'master' of git://github.com/dustin/grit 
|\ 
| * 420eac9 : Added a method for getting the current branch. 
* | 30e367c : timeout code and tests 
* | 5a09431 : add timeout protection to grit 
* | e1193f8 : support for heads with slashes in them 
|/ 
* d6016bc : require time for xmlschema 

यह प्रतिबद्ध इतिहास लाइनों का एक बहुत अच्छा ASCII प्रतिनिधित्व देगा।

मुझे इस ग्राफ को कैसे पढ़ा जाना चाहिए? 420eac9 बाकी से अलग कैसे है?

उत्तर

70

तारक शो जहां कुछ हामी भर दी थी:

e1193f8, 5a09431 और 30e367c बाईं शाखा (सही शाखा पर एक | उपज) जबकि 420eac9 सही शाखा के लिए प्रतिबद्ध था करने के लिए प्रतिबद्ध किया गया (पर एक | उपज बाएं शाखा)। और कि क्या 420eac9 बाकी से अलग है: यह सही शाखा के लिए एकमात्र प्रतिबद्धता है।

पूर्णता के लिए के लिए:

  • d6016bc शाखाओं बिंदु
  • 5e3ee11 था विलय प्रतिबद्ध
  • 2d3acf9 है पहले प्रतिबद्ध से
+3

ग्राफ में दिखाए गए अनुसार प्रतिबद्ध समय के बारे में मेरा कोई प्रश्न था। ग्राफ में, '420eac9' '30e367c', '5a09431', और 'e1193f8' से ऊपर दिखाया गया है। क्या इसका हमेशा मतलब होगा कि '420eac9' अन्य तीनों के बाद किया गया था, या यह एक शाखा पर काम करता है जो एक साथ समूहित होता है, और जिस क्रम में वे शाखाओं में दिखाई देते हैं, उनके पास समय सहसंबंध नहीं होता है? – Parag

+3

@ पैराग: एक शाखा में काम करता है एक साथ समूहित किया जाता है। '420eac9 '' e1193f8' शाखा की पहली प्रतिबद्धता के बाद किया गया लेकिन '30e367c' के बाद असफल नहीं हुआ – eckes

16

420eac9 3 "नीचे" की तुलना में एक अलग शाखा पर है। d6016bc के बाद शाखाएं अलग हो गईं और उन्हें 5e3ee11 में विलय कर दिया गया।

+1

हो सकता है कि एक बेहतर शब्दों विलय के बाद शाखाओं में विचलन यह है कि दूसरी शाखा 'डी 6016 बीसी' से बनाई गई थी और मूल शाखा के साथ समानांतर में विकसित किया गया था। – Ilkka

संबंधित मुद्दे