पिछले रिबेट के मामले में जिसे आपने ठीक से निरस्त नहीं किया था, अब आपके पास (Git 2.12, Q1 2017) है git rebase --quit
Nguy Thn Thái pcloudsNg Dc Duy ( ) द्वारा 9595177 (12 नवंबर 2016) देखें ।
(द्वारा विलय Junio सी Hamano - gitster- में प्रतिबद्ध 06cd5a1 , 19 दिसंबर 2016)
rebase: --quitसफाई रिबूट में जोड़ें , बाकी सब कुछ अछूता छोड़ दें
ऐसे अवसर होते हैं जब आप इन-प्रोग्रेस रिबेट को निरस्त करने और कुछ और करने के लिए आगे बढ़ते हैं लेकिन आप पहले " git rebase --abort" करना भूल जाते हैं । या फिर रिबेट इतने लंबे समय से प्रगति पर है कि आप इसके बारे में भूल गए। जब तक आप महसूस करते हैं कि (उदाहरण के लिए एक और रिबास शुरू करके) यह आपके चरणों को वापस करने के लिए पहले से ही बहुत देर हो चुकी है। समाधान सामान्य रूप से है
rm -r .git/<some rebase dir>
और अपने जीवन के साथ जारी रखें।
लेकिन इसके लिए दो अलग-अलग निर्देशिकाएं हो सकती हैं <some rebase dir>(और यह स्पष्ट रूप से कुछ ज्ञान की आवश्यकता है कि रिबास कैसे काम करता है), और " .git" भाग ज्यादा लंबा हो सकता है यदि आप शीर्ष-डीआईआर या एक जुड़े कार्यस्थल पर नहीं हैं। और " rm -r" करना बहुत खतरनाक है .git, इसमें गलती से ऑब्जेक्ट डेटाबेस या अन्य महत्वपूर्ण डेटा नष्ट हो सकता है।
git rebase --quitइस उपयोग के मामले के लिए " " प्रदान करें , एक मिसाल है जो " git cherry-pick --quit" है।
Git 2.27 (Q2 2020) से पहले, git merge --autostashप्रारंभिक गंदे अवस्था को बनाए रखने के लिए " " द्वारा बनाई गई स्टैश एंट्री को गलती से " git rebase --quit" छोड़ दिया गया था , जिसे सही कर दिया गया है।
डेंटन लियू ( ) द्वारा 9b2df3e (28 अप्रैल 2020) के लिए प्रतिबद्ध देखें । ( जूनियो सी हमानो द्वारा विलय - - 3afdeef में प्रतिबद्ध , 29 अप्रैल 2020)Denton-L
gitster
rebase: में autostash प्रविष्टि सहेजने stash reflogपर--quit
साइन-ऑफ-बाय: डेंटन लियू
में a03b55530a ( " merge: सिखाने --autostash विकल्प", 2020/4/7, Git v2.27.0 - मर्ज में सूचीबद्ध बैच # 5 ), --autostashविकल्प के लिए पेश किया गया था git merge।
(देखें " कैन" git pull"स्वतः स्लैश और पॉप लंबित परिवर्तन? ")
विशेष रूप से, जब git merge --quitएक ऑटोस्टैश प्रविष्टि के साथ चलाया जाता है , तो इसे स्टैश रिफ्लॉग में बचाया जाता है।
यह वर्तमान व्यवहार के साथ विपरीत है git rebase --quitजहां ऑटोस्टैश प्रविष्टि केवल अस्तित्व से बाहर कर दिया जाता है।
के व्यवहार को अपनाने git merge --quitमें git rebase --quitऔर इसके बजाय सिर्फ इसे हटाने के गुप्त कोष reflog में autostash प्रविष्टि सहेजने।