2011-01-05 20 views
11

क्या गिट स्टैश की अधिकतम संख्या है, या आपके पास जितनी चाहें उतनी हो सकती है?क्या गिट स्टैश की अधिकतम संख्या है?

मुझे पता है कि

git stash list 

git stash list --date=local 

के रूप में कई परिणाम की सूची नहीं है कर रहा हूँ लेकिन लिनुस टोर्वाल्ड लगता है कि एक से अधिक एक्स stashes के साथ किसी एक बेवकूफ जो हकदार है करता है पुराने स्टैश खोने के लिए?

+5

उम, लिनस टोरवाल्ड्स की राय कुछ भी करने के लिए क्या है? –

+1

यदि आपके पास बड़ी संख्या में स्टैश हैं तो उनमें से कुछ को इसके बजाय शाखाएं नामित करनी चाहिए। –

+0

क्या आप वाकई स्क्रीन स्क्रॉल करने के लिए पर्याप्त आउटपुट वाले किसी भी चीज़ पर $ PAGER जोड़ने का गिट का डिफ़ॉल्ट व्यवहार नहीं देख रहे हैं? –

उत्तर

19

स्टैश करने की कोई कठोर सीमा नहीं है। स्टैश को विशेष रूप से नामित रेफ्लॉग का उपयोग करके लागू किया जाता है जिसे stash कहा जाता है।

+0

क्या इसका मतलब यह है कि यदि आप 'गिट प्रून' या 'गिट जीसी' करते हैं तो वे हटाए जाने के लिए उत्तरदायी हैं? –

+0

हां पता है, मुझे यकीन नहीं है। आम तौर पर, रीफ्लॉग 90 दिनों तक रहता है (या पहुंचने योग्य काम के लिए 30 दिन)। मैं उम्मीद करता हूं कि गिट इस सीमा को छेड़छाड़ पर लागू नहीं करेगी, लेकिन मैं निश्चित नहीं हो सकता। –

+3

मैंने अभी स्रोत की जांच की है, यह वास्तव में विशेष रूप से छेड़छाड़ को संभालने के लिए प्रतीत होता है। –

8

नहीं, कोई सीमा नहीं है। वास्तव में, Git stashes की बड़ी संख्या को हैंडल काफी शान से:

$ du -sh .git; \ 
> for i in {1..10000}; do echo $i > README; git stash -q; done; \ 
> git gc -q; du -sh .git; time git stash list | wc -l 
8.5M  .git 
13M  .git  # space efficient 
10000    # all there 
real  0m0.212s # listing 10,000 entries 
$ echo foo > README; time git stash -q; time git stash pop -q 
real  0m0.159s # save still fast 
real  0m0.146s # pop still fast 

मैं और अधिक परीक्षण नहीं था, लेकिन मैं यह अभी भी 100,000 या एक लाख के लिए एक ही काम करेंगे मान चाहते हैं। तो हाँ, वास्तव में स्टैश की संख्या असीमित है।

संबंधित मुद्दे