संक्षिप्त उत्तर: एनएनएन ... शायद।
लांग जवाब: कुछ heuristics रहे हैं, और आप कुछ जानकारी बटोरने के लिए Git transfer protocols के साथ चारों ओर से प्रहार कर सकते हैं।
मेरा व्यक्तिगत अवलोकन यह है कि अधिकांश टेक्स्ट-आधारित परियोजनाओं के लिए, .git आकार बहुत पुरानी परियोजनाओं के लिए भी चेकआउट आकार से कहीं अधिक है।
info/refs
प्राप्त करना आपको बताएगा कि कितने टैग और शाखा भंडार में हैं।
objects/info/packs
प्राप्त करने से आपको पता चल जाएगा कि परियोजना में कौन से पैकफाइल हैं। पैक फाइलें कितनी बड़ी हैं, इसके बाद आप objects/pack/pack-WHATEVERTHEIDIS.pack
पर हेड अनुरोध (इसे HTTP मानते हैं) कर सकते हैं। इससे आपको भंडार आकार के लिए कम बाध्यता मिल जाएगी।
यदि डिस्क स्थान समस्या है (डिस्क सस्ता है, एक नया खरीद लें), तो आप चेकआउट की जगह बचाने के लिए git clone --bare
कर सकते हैं। फिर आप पूर्ण चेकआउट प्राप्त करने के लिए उस स्थानीय, नंगे संस्करण को क्लोन कर सकते हैं।
अंत में, यदि आप चालाक हैं, तो आप ऑब्जेक्ट पेड़ को प्रत्येक ऑब्जेक्ट का आकार प्राप्त करने के लिए हेड अनुरोध कर सकते हैं और ऑब्जेक्ट को रद्द कर सकते हैं जब आपको केवल हेडर प्राप्त होता है (डेटा भाग को अनदेखा कर लिया जाता है)। इससे आपको संपूर्ण भंडार डाउनलोड किए बिना भंडार का आकार मिल जाएगा।
क्या आप सर्वर में 'ssh' कर सकते हैं और' du' कर सकते हैं? –
नहीं, मैं इसमें 'ssh' नहीं कर सकता। –
मुझे लगता है कि अगर हम जानते हैं कि आपको इस जानकारी की आवश्यकता क्यों है तो हम बेहतर मदद करने में सक्षम होंगे। – Schwern