2011-06-04 9 views
6

मैं अवधारणाओं और शर्तों को हल करने की कोशिश कर रहा एक गिट नौसिखिया हूं। गिट शब्दावली का कहना है कि एक पेड़ एक निर्देशिका के बराबर है और एक निर्देशिका है जो आप ls के साथ प्राप्त करते हैं। क्या वे विनिमय करने योग्य शब्द हैं? या विभिन्न संदर्भों में या "अलग-अलग) चीजों को संदर्भित करने के लिए" पेड़ "और" निर्देशिका "का उपयोग किया जा सकता है?पेड़ और निर्देशिका के बीच क्या अंतर है?

+1

मुझे एक ही समस्या थी http://stackoverflow.com/questions/5917738/how-does-git-record-or-more-likely-represent-file-paths-and-names-for-its-blob - प्रतिबद्ध वृक्ष संरचना प्रतिबद्धता में निहित फ़ाइलों की निर्देशिका संरचना से मेल खाती है, लेकिन ट्रैक करने के लिए कुछ भी नहीं 'खाली' निर्देशिकाओं को छोड़ती है। शाखा की जांच करने से कोई आवश्यक निर्देशिका तैयार होगी, लेकिन कोई भी हटा नहीं जाएगा। –

उत्तर

3

संक्षिप्त उत्तर: हां, एक पेड़ एक निर्देशिका है और एक निर्देशिका एक पेड़ है।

लंबा उत्तर: एक पेड़ एक वस्तु है जिसमें ब्लब्स की एक सूची होती है, ब्लॉब्स से जुड़ने के लिए नाम, और अन्य पेड़ और नाम उन्हें संलग्न करने के लिए होते हैं। http://book.git-scm.com/1_the_git_object_model.html गिट मॉडल में विभिन्न ऑब्जेक्ट प्रकारों का एक बहुत अच्छा स्पष्टीकरण है; मैं इसे पढ़ने का सुझाव दूंगा!

+0

हां, यह समझना कि वृक्ष संदर्भ ब्लॉब्स महत्वपूर्ण था। – user7797

3

गिट शब्दावली में, एक "पेड़" फाइलों और निर्देशिकाओं की एक श्रेणीबद्ध संरचना है। यह (उद्देश्यपूर्वक) फाइल सिस्टम में निर्देशिका के समान ही है।

एक गिट प्रतिबद्ध वस्तु में वृक्ष वस्तु का संदर्भ होता है, जो उस प्रतिबद्धता के समय सभी फ़ाइलों की स्थिति है।

-1

इसे सरलता से रखने के लिए, "पेड़" उस समय पर पूरे भंडार राज्य के स्नैपशॉट को संदर्भित करता है (जैसे कि आपके वर्तमान कोड के लिए जो आपको मिला है [जिसे हेड के रूप में भी जाना जाता है], भंडार का जब वर्तमान में चेक-आउट प्रतिबद्ध किया गया था, आदि)

निर्देशिका सिर्फ फाइल सिस्टम निर्देशिका का जिक्र कर रही है।

+0

मैं कभी-कभी अपने कोष्ठक लेयरिंग के साथ डरता हूं। – damianb

+0

सख्ती से सच नहीं है क्योंकि एक पेड़ में अन्य पेड़ होते हैं, जो स्वयं पिछले (और भविष्य) के पेड़ों से संबंधित हो सकते हैं। – siride

+0

कुछ निर्देशिका के लिए पेड़ और अन्य प्रतिबद्धता में एक ही निर्देशिका के लिए पेड़ एक ही (समान SHA1) हो सकता है। तो एक पेड़ पूरी निर्देशिका का प्रतिनिधित्व नहीं कर सकता है और इसमें समय के साथ कुछ भी नहीं है (काम करता है)। – svick

1
+0

दूसरे लिंक में चित्र बहुत उपयोगी थे। – user7797

+0

धन्यवाद। व्यक्तिगत रूप से, मैं चित्रित आरेख के माध्यम से गिट के ऑब्जेक्ट मॉडल को समझने में सक्षम था। – OnesimusUnbound