1 - कितने स्टैश बचाए जाते हैं?
स्टैश पतली हवा से बाहर नहीं दिखते हैं; केवल यदि आप उन्हें बनाने के लिए,
git stash
या समतुल्य
git stash save
तो कितने सहेजे जाते हैं का उपयोग कर? जितना आप बनाते हैं।
2 - ये स्टैश कितने समय से बचाए गए हैं?
यह प्रश्न निर्दोष दिखता है, लेकिन उत्तर वास्तव में काफी सूक्ष्म है। यहां विचार करने के लिए दो पहलू हैं: 1) स्टैश रीफ्लॉग, और 2) रिपोजिटरी का ऑब्जेक्ट डेटाबेस। एक है कि से मेल खाती है:
जब आप एक गुप्त कोष बनाने के लिए, Git
- गुप्त कोष reflog के लिए कोई प्रविष्टि,
- दो (तीन अगर आप
--include-untracked
ध्वज का उपयोग करें) बनाता में भंडार के डेटाबेस वस्तुओं के लिए प्रतिबद्ध कहते हैं आपके कामकाजी पेड़ में डब्ल्यूआईपी (प्रगति पर काम), और दूसरा जो आपके स्टेजिंग क्षेत्र (उर्फ इंडेक्स) की स्थिति से मेल खाता है।
संपादित करें: उन प्रतिबद्ध वस्तुएं पूरी तरह से काम करती हैं, जिन्हें git cat-file -t
चलाकर सत्यापित किया जा सकता है। वे किसी भी शाखा से पहुंचने योग्य नहीं होते हैं; torek's comment देखें।
डिफ़ॉल्ट रूप से, गिट का कचरा संग्रह स्वचालित रूप से 90 दिनों से अधिक पुराने रीफ्लॉग प्रविष्टियों को हटा देगा; यदि आप किसी अन्य गुप्त कोष reflog प्रविष्टियों के लिए "जीवनकाल" निर्दिष्ट कर सकते हैं
git config gc.refs/stash.reflogexpire <lifetime>
कचरा-संग्रह तंत्र ऊपर वर्णित है, Git अपने आप ही stashes नहीं हटेंगे अलावा चलाकर; एक गुप्त कोष (कम से कम 90 दिनों के लिए) अपने स्थानीय भंडार में रहेगा जब तक आप यह स्वेच्छा से नहीं
ड्रॉप करते हैं, का उपयोग कर
git drop <stash-reference>
जहाँ से निर्दिष्ट गुप्त कोष में प्रवेश को हटा देता है स्टैश रीफ्लॉग;
पॉप यह,
git pop <stash-reference>
का उपयोग करके निर्दिष्ट गुप्त कोष में लागू होता है और उसके बाद जो गुप्त कोष reflog से इसी प्रविष्टि को हटा देता है; या
रन
git stash clear
जो गुप्त कोष reflog की सभी प्रविष्टियों को हटा देता है (है कि एक के साथ सावधान रहना)।
हालांकि, ध्यान रखें कि ये तीन कार्य केवल स्टैश रीफ्लॉग को प्रभावित करते हैं। विशेष रूप से, वे तुरंत आपके डिपॉजिट के डेटाबेस से संबंधित "डब्ल्यूआईपी" और "इंडेक्स" ऑब्जेक्ट्स को हटा नहीं देते हैं; वे केवल उन वस्तुओं को पहुंचने योग्य बनाते हैं। उत्तरार्द्ध थोड़ी देर के लिए "भंडार लिम्बो" में रहेगा, जब तक कि अंततः उन्हें कचरा इकट्ठा नहीं किया जाता और "सच्ची मौत" मर जाती है।
एक उपयोगी चीज पता करने के लिए है कि: यदि आपने गलती से ड्रॉप एक गुप्त कोष में, आप अभी भी अपने रेपो की अंतड़ियों से प्राप्त कर तुम्हें याद या पहचान कर सकते हैं अगर इसके दो वस्तुओं की शास सक्षम हो सकता है (WIP और इंडेक्स)।
3 - वे सिर्फ अस्थायी रूप से काम को बचाने करो परिवर्तन खो रहे हैं ऐसी है कि जब आप अपने कंप्यूटर को रीबूट?
सं stashes कोई से किसी भी अन्य वस्तुओं के लिए प्रतिबद्ध भिन्न हैं; एक रिबूट पर कोई प्रभाव नहीं पड़ता है।
1. जितना आप बनाते हैं। 2. जब तक आप * ड्रॉप *, * पॉप *, या * साफ़ * नहीं करते हैं। 3. नहीं; रिबूट के बाद भी स्टैश उपलब्ध हो जाएगा। Http://git-scm.com/book/en/Git-Tools- Stashing – Jubobs
डाउनवॉटर देखें, प्रश्न आपके विचार से अधिक सूक्ष्म हो सकता है ... – Jubobs
गिट में आप लगभग ऐसी स्थिति में नहीं हैं जहां आप नहीं कर सकते प्रतिबद्ध। मैं व्यक्तिगत रूप से उपयोगी होने के लिए छेड़छाड़ नहीं करता हूं। –