मुझे यह बताने की जुर्रत क्यों है, "ऑटो सबसे अच्छे प्रदर्शन के लिए पृष्ठभूमि में भंडार पैकिंग करता है"?


100

नोट : मुझे नहीं लगता कि यह इस प्रश्न का एक डुप्लिकेट है , जो एक गैर-पृष्ठभूमि पैक के बारे में बात कर रहा है जो एक अलग-अलग त्रुटि संदेश के साथ गिट लटका देता है


मेरे एक गिट रिपॉजिटरी में, हर बार जब मैं आह्वान करता हूं (उदाहरण के लिए) git fetch, गिट प्रिंट:

Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.

यह हर बार अगर मैं git fetchबार-बार करता हूं , तब भी यह प्रिंट होता है , जब कोई बदलाव नहीं होता है और कुछ भी नहीं git fetchकरना है। यह मेरे लिए बहुत मायने नहीं रखता है। यह अन्य नेटवर्क संचालन के साथ भी होता है, जैसे कि git pushऔर git pull

कमांड तुरंत आगे नहीं आउटपुट के साथ प्रॉम्प्ट पर वापस आता है, और मुझे अपनी मशीन पर चलने वाली कोई भी गिट प्रक्रिया नहीं मिल सकती है। यह केवल इस रिपॉजिटरी के साथ होता है, और केवल इस मशीन पर लगता है। git config -l | grep gcकुछ नहीं देता।

इस समस्या का निदान या ठीक करने के लिए मैं क्या कर सकता हूं?

$ git --version 
git version 2.0.1

मैं ओएस एक्स 10.9 का उपयोग कर रहा हूं।


यह उसी समस्या की तरह दिखता है, जिससे आप जुड़े हुए प्रश्न हैं, लेकिन सिर्फ इतना तेजी से हो रहा है कि आप लटकते हुए दिखाई नहीं देते हैं।
होलोले


Trengot, मुझे ऐसा नहीं लगता। त्रुटि संदेश सूक्ष्म रूप से भिन्न है - इसमें "पृष्ठभूमि" का उल्लेख है।
एंड्रयू फेरी

ट्रेंगोट, क्षमा करें, आप सही थे, यह संबंधित था (दूसरा लिंक)। सूचक के लिए धन्यवाद, विवरण के लिए मेरा जवाब नीचे देखें।
एंड्रयू फेरियर

जवाबों:


167

मुझे आपके द्वारा प्रदान की गई दूसरी टिप्पणी, ट्रेंगोट, धन्यवाद से समाधान मिला। यह पता चला है कि मेरे पास कुछ झूलने वाली बूँदें थीं, जो अंदर थीं .git/objects/17और इसलिए पैकिंग को ट्रिगर किया गया:

$ git fsck
dangling blob d9ff0aeac4aa8b4e0907daed675ebf60278bc977
dangling blob dbff2d073741f9775c815d4a3c623736af224dad
dangling blob e1ffbab1c5b985cd1cd3bc0281075ea2ed80744a
dangling blob fdff59878ccb3a75689f4acca615cfb635288774

इससे उनकी सफाई हुई:

$ git gc --prune=now

ध्यान रखें, हेनरिक की टिप्पणी के अनुसार, यह थोड़ा खतरनाक हो सकता है। ख्याल रखना!


19
धन्यवाद! यह मेरे लिए काम करने लगा। ज्ञात हो कि --prune=nowथोड़ा खतरनाक है। डिफ़ॉल्ट रूप से, --prune2 सप्ताह के झूलने वाले ब्लब्स रखेंगे, जिसका अर्थ है कि अगर आपने गलती से 5 मिनट पहले एक गलत रीबेस किया था, या कल एक शाखा को हटा दिया था, तो आप पुनर्प्राप्त कर सकते हैं। एक बार जब आप इस कमांड को चलाते हैं, तो आप अभी तक सभी झूलने वाले ब्लॉग खो देते हैं - 2 सप्ताह पहले नहीं। इसके अलावा, ऐसा लगता है कि आपको किसी अन्य टर्मिनल में Git कमांड निष्पादित करते समय इसे कभी नहीं चलाना चाहिए, या आपका रेपो भ्रष्ट हो सकता है।
हेनरिक एन

3
आपने मेरा दिन बचा लिया
ओवेन चेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.