अपनी .git
निर्देशिका में एक नज़र डालें। बहुत सारी फाइलें हो सकती हैं लेकिन वे नियमित समूहों की एक छोटी संख्या में आती हैं (ऑब्जेक्ट स्टोर डेटा, रेफरी, रीफ्लॉग इत्यादि)। आप सामग्रियों को दो प्रमुख श्रेणियों में विभाजित कर सकते हैं: डेटा जो गिट आम तौर पर अन्य भंडारों और डेटा को ले जा सकता है कि गिट आमतौर पर अन्य भंडारों में परिवहन नहीं करेगा।
सामान्य रूप से ले जाया नहीं:
HEAD
, FETCH_HEAD
, ORIG_HEAD
, MERGE_HEAD
config
description
hooks/
index
info/
- विविध
logs/
- reflogs
आम तौर पर ले जाया (जैसेक्लोन के माध्यम से,, को हासिल करेगा धक्का, और बंडलों):
objects/
packed-refs
refs/
यह पिछले समूह वस्तु की दुकान और अपनी प्रकाशित प्रवेश द्वारों का निर्माण करता है। आपको स्पष्ट रूप से संस्करणित सामग्री की समीक्षा करना होगा ताकि यह निर्धारित किया जा सके कि इसमें कुछ संवेदनशील है या नहीं।
सिर, index
(एक नंगे भंडार में मौजूद नहीं है), और reflogs (logs/
) वस्तु की दुकान में सभी अतिरिक्त प्रवेश द्वारों हैं। यदि आपने कोई इतिहास पुनर्लेखन किया है (उदाहरण के लिए आपने हाल ही में रिकॉर्ड किए गए इतिहास से कुछ संवेदनशील कॉन्फ़िगरेशन फ़ाइल को हटा दिया है) तो आप रीफ्लॉग पर अधिक ध्यान देना चाहेंगे (संभवतः अधिकांश नंगे भंडारों पर सक्षम नहीं) और रेफरी के रेफ/मूल/भाग नाम स्थान।
FETCH_HEAD
और config
संबंधित गिट भंडारों के पते हो सकते हैं।
config
में अन्य संवेदनशील जानकारी हो सकती है।
info/
में विभिन्न जानकारी है; इनमें से कुछ संवेदनशील हो सकते हैं (जानकारी/वैकल्पिक); कुछ संवेदनशील होने की संभावना कम होती है (माना जाता है कि सामग्री स्वयं "साफ" है- इंफो/रेफ, जानकारी/पैक); कुछ भंडार (जानकारी/grafts) के संचालन के लिए महत्वपूर्ण हो सकता है। आप जिस भी एड-ऑन टूल्स का उपयोग कर रहे थे (हुक स्क्रिप्ट्स, वेब इंटरफेस इत्यादि) यहां डेटा संग्रहित कर सकते हैं; इनमें से कुछ संवेदनशील हो सकते हैं (एक्सेस कंट्रोल सूचियां, आदि)।
अगर वहाँ hooks/
में कुछ भी सक्रिय हैं, आप का मूल्यांकन करने के लिए कि क्या यह भंडार की प्रति के साथ प्रदान की जानी चाहिए (यह भी जांच करेगा कि क्या यह भंडार में कहीं भी किसी भी अतिरिक्त डेटा संग्रहीत करता है) चाहते हैं।
description
फ़ाइल शायद अहानिकर है, लेकिन क्या आप इसे भी जाँच कर सकते हैं।
आप केवल सामग्री सौंपने रहे हैं, तो आप शायद सिर्फ एक ताजा नंगे भंडार को क्लोन या एक बंडल (git bundleVonC describes के रूप में) का उपयोग करना चाहिए।
आप आप इसे प्रबंधित करने के लिए सामग्री के साथ ही प्रक्रिया सौंपने के लिए जिम्मेदार हैं, तो आप व्यक्तिगत रूप से भंडार में से प्रत्येक बिट की जांच के लिए होगा।
सामान्य (या एक अधिक "पागल" फैशन में) में, वहाँ एक Git भंडार के पदानुक्रम के अंदर कई स्थानों पर जहां किसी को किसी भी यादृच्छिक फ़ाइल की दुकान कर सकते हैं। यदि आप यह सुनिश्चित करना चाहते हैं कि आप केवल गिट की जरूरत वाले डेटा को दे रहे हैं, तो आपको क्लोन या बंडल का उपयोग करना चाहिए। यदि आपको अपने "प्रति भंडार" डेटा (उदाहरण के लिए कुछ हुक रिपोजिटरी का प्रबंधन करने के लिए उपयोग किया जाता है) की आपूर्ति करने की आवश्यकता है तो आपको ताजा नंगे भंडार में क्लोन करना चाहिए (मौजूदा ऑब्जेक्ट स्टोर फ़ाइलों की प्रतिलिपि बनाने और हार्डलिंकिंग से बचने के लिए file:
यूआरएल का उपयोग करें) और पुनः स्थापित करें केवल आपके हुकों को पूरा करने के लिए आवश्यक हुक/डेटा।
सही! '.git/config' फ़ाइल संवेदनशील हो सकती है। +1 – VonC