2008-10-02 6 views
43

मैं गिट में 'grafts' क्या पता लगाने की कोशिश कर रहा हूं।के लिए .git/info/grafts क्या हैं?

उदाहरण के लिए, नवीनतम टिप्पणी here में से एक में, टोबू दो खजाने में शामिल होने के Git फिल्टर शाखा और .git/जानकारी/ग्राफ्ट उपयोग करने के लिए लगता है।

लेकिन मुझे समझ में नहीं आता कि मुझे इन ग्राफ्ट क्यों चाहिए? ऐसा लगता है कि सभी पिछले दो आदेशों के बिना काम करते हैं।

+0

लिंक 'यहाँ' गायब हो गया है, लेकिन http://www.seattlecentral.edu/cgi-bin/cgiwrap/dmartin/moin.cgi में कॉपी किया जाता है/Git –

उत्तर

35

Git Wiki से:

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

Grafts का उपयोग के लिए

कारण, जब विकास चलती git करने के लिए उपयोगी हो सकता है, क्योंकि यह आप पुराने इतिहास एक और एससीएम वैकल्पिक से आयात की क्लोनिंग बनाने के लिए अनुमति देता है। यह उपयोगकर्ताओं के लिए प्रारंभिक क्लोन है जो केवल नवीनतम संस्करण का पालन करना चाहता है जबकि डेवलपर पूर्ण विकास इतिहास उपलब्ध हो सकते हैं।

जब लीनुस उसकी गिरी पेड़ वहाँ को बनाए रखने के लिए किसी भी उपकरण मौजूद नहीं था वर्ष गिरी इतिहास में परिवर्तित करने के लिए Git का उपयोग शुरू किया। बाद में, जब पुराने कर्नेल इतिहास को बीकेसीवीएस गेटवे से गिट में आयात किया गया था, तो ग्राफ्ट को बनाने के लिए एक विधि के रूप में बनाया गया था ताकि दो अलग-अलग भंडार एक साथ जोड़ सकें।

8

जब Git-SVN के साथ काम:

Git ग्राफ्ट एक सबवर्सन भंडार में एक Git पेड़ आयात करने के लिए बहुत उपयोगी हैं।

उदा। मैंने शुरुआत के रूप में एक स्थानीय गिट भंडार बनाया। कई दिनों में काम करने के बाद, बहुत सी कामकाज बनाने के बाद, मुझे इसे केंद्रीय सबवर्जन रिपोजिटरी में प्रकाशित करना पड़ा और मैं इतिहास खोना नहीं चाहता था।

मैंने पाया निम्न आलेख कैसे-करें: http://eikke.com/importing-a-git-tree-into-a-subversion-repository/