मैं एक बार में अपने सभी Git स्टैस कैसे हटा सकता हूं ?
विशेष रूप से मेरा मतलब है, एक कमांड में टाइप करने के साथ।
मैं एक बार में अपने सभी Git स्टैस कैसे हटा सकता हूं ?
विशेष रूप से मेरा मतलब है, एक कमांड में टाइप करने के साथ।
जवाबों:
निम्न आदेश आपके सभी स्टैम्स को हटा देता है:
git stash clear
से Git प्रलेखन :
clear
सभी स्टैक्ड अवस्थाओं को निकालें।
महत्वपूर्ण चेतावनी: उन राज्यों को फिर छंटाई के अधीन किया जाएगा, और (...) को पुनर्प्राप्त करना असंभव हो सकता है।
stash drop
(" स्टैश लिस्ट से एक भी स्टैक्ड अवस्था को हटा दें। जब कोई <स्टैश> नहीं दिया जाता है, तो यह लेटेस्ट को हटा देता है। ... (...) " प्रश्न का उत्तर नहीं देता (" मैं सभी को कैसे हटा सकता हूं " मेरे Git एक ही बार में चुराते हैं? ")?
git stash clear
, पुष्टि करने के लिए करता है, तो सभी को मंजूरी दे दी, उपयोग -git stash list
git
व्यावहारिक रूप से असंभव है! git-scm.com/docs/git-stash
git help <command>
प्रलेखन प्राप्त करने का सबसे अच्छा तरीका है (और, यह वास्तव में बहुत अच्छा है)। इस मामले में, git help stash
स्पष्ट रूप से दिखाओ कि git stash clear
क्या यह विलेख है (यह मुझे पहले तो एसओ के पास आने और उत्तर को उकसाने से नहीं रोकता था ... लेकिन यह आपको मेरे बारे में और अधिक बताता है git
: डी)
कोई स्लैश हटाने के दो तरीके हैं:
$ git stash drop <stash_id>
।$ git stash clear
।सावधानी के साथ दोनों का उपयोग करें, शायद एक बार हटाए गए स्टैड्स को वापस करना मुश्किल है।
यहाँ संदर्भ लेख है ।
यह कमांड आपको सभी अटके हुए बदलावों को देखने में सक्षम बनाता है।
git stash list
यहाँ निम्नलिखित कमांड का उपयोग आपके सभी परिवर्तित परिवर्तनों को साफ़ करने के लिए किया गया है
git stash clear
अब अगर आप स्टैश एरिया से स्टैक्ड बदलावों में से एक को हटाना चाहते हैं
git stash drop stash@{index} // here index will be shown after getting stash list.
नोट:
git stash list
आपको git के स्टैश क्षेत्र से सूचकांक प्राप्त करने में सक्षम बनाता है।
git stash drop 'stash@{index}'
एपोस्ट्रोफिस के साथ है।
मैं कुछ हालिया झड़पों को रखना चाहता था, लेकिन बाकी सब हटा दिया।
क्योंकि जब आप एक को छोड़ देते हैं, तो सभी स्टैम्ड पुनः प्राप्त हो जाते हैं, जबकि वास्तव में ऐसा करना आसान होता है। स्लैश @ {19} से पुराने सभी स्टैम्स को हटाने के लिए:
while git stash drop 'stash@{20}'; do true; done
git stash pop 3
करने के बजाय संदर्भित कर सकते हैं ? मैं जानना चाहता था कि क्या हम while
सूचकांक मूल्यों का उपयोग करके लूप और ड्रॉप स्टैड्स का उपयोग कर सकते हैं ।
मुझे एक और आवश्यकता थी जैसे कि केवल कुछ ही खामियों को दूर करना होगा, नीचे दिया गया कोड उस स्थिति में मददगार होगा।
#!/bin/sh
for i in `seq 5 8`
do
git stash drop stash@{$i}
done
/ * 5 से 8 सूचकांक से हटा देगा * /
for iterator in `seq 5 8`; git stash drop stash@{$iterator}; done
for i in `seq 4`; do git stash drop 'stash@{5}'; done
do
यदि आप नवीनतम स्टैश या किसी विशेष सूचकांक को हटाना चाहते हैं -
git stash ड्रॉप type_your_index
> git stash list
stash@{0}: abc
stash@{1}: xyz
stash@{1}: pqr
> git stash drop 0
Dropped refs/stash@{0}
> git stash list
stash@{0}: xyz
stash@{1}: pqr
यदि आप एक बार में सभी रोक हटाना चाहते हैं -
> git stash clear
>
> git stash list
>
चेतावनी : एक बार कर लेने के बाद आप अपने स्टैश को वापस नहीं ला सकते
40 दिनों से अधिक पुराने सभी स्तंभों को हटाने के लिए:
git reflog expire --expire-unreachable=40.days refs/stash
जोड़े --dry-run
को देखने के लिए जो stashes नष्ट हो जाती हैं।
देखें https://stackoverflow.com/a/44829516/946850 एक विवरण और अधिक विस्तार के लिए।