मैगिट में, एक 'स्टैश' और 'स्नैपशॉट' में क्या अंतर है?


18

MAGIT उपयोगकर्ता पुस्तिका एक बचाने लोअर केस कमांड: दो "stashing" आदेशों की सेट शामिल गुप्त कोष में एक बचाने अपर-केस आदेश, और स्नैपशॉट । Google और स्टैक ओवरफ़्लो और git-stash(1)मैन पेज से परामर्श करने के बाद , मुझे अभी भी नहीं पता है कि अंतर क्या है।

क्या फर्क पड़ता है?


1
मेरी समझ यह है कि stashपरिवर्तनों को रीसेट (पूर्ववत) भी किया जाएगा और snapshotकार्यक्षेत्र में बदलावों को छोड़ देगा (यदि आप पुश करने से पहले कमिट को पुनर्व्यवस्थित करने जा रहे हैं तो उपयोगी हो सकता है)।
wvxvw

जवाबों:


25

दोनों "स्टैश" और "स्नैपशॉट" वेरिएंट एक ही स्टैश ऑब्जेक्ट बनाते हैं। अंतर यह है कि जब आप एक स्नैपशॉट बनाते हैं, तो काम किए गए पेड़ और / या सूचकांक में फ़ाइलों से निकाले गए परिवर्तनों को हटाया नहीं जाता है। (ठीक उसी तरह जब आप अपने दोस्तों का स्नैपशॉट लेते हैं - एक अच्छा समय; जिससे उन्हें या तो गायब होने का कारण नहीं; ;-)

यह एक प्रकार के बैकअप तंत्र के रूप में अभिप्रेत है। मान लें कि आप कुछ जटिल रीफ़ैक्टरिंग कर रहे हैं और आपने अभी-अभी परीक्षण किया है और संशोधित कोड अभी भी काम कर रहा है लेकिन आप अभी तक नहीं किए गए हैं। अब स्नैपशॉट बनाने का एक अच्छा समय होगा, ताकि बाद में गड़बड़ करने पर आपके पास वापस जाने के लिए कुछ हो।

बेशक आप सिर्फ एक अस्थायी "wip" कमिट बना सकते हैं, ठीक उसी शाखा पर जिस पर आप काम कर रहे हैं, उसी को पूरा करने के लिए। आमतौर पर मैं यही करता हूं।

और आप Wip मोड्स को सक्षम करके कार्य-प्रगति की रिकॉर्डिंग की प्रक्रिया को भी स्वचालित कर सकते हैं । मेरे पास सुरक्षा मोड के रूप में इन मोड्स को सक्षम किया गया है, लेकिन मैं अभी भी सीधे वर्तमान शाखा पर wip कमिट बनाता हूं या स्नैपशॉट बनाता हूं। उन लोगों के साथ काम करना आसान है, जो wip Refs हैं।

ध्यान दें कि मैगिट अपने स्वयं के तेज कार्यान्वयन के साथ आता है जो कि एलीस्प में लिखा गया है। यह स्नैपशॉट वेरिएंट और वर्कट्री-ओनली और इंडेक्स-ओनली स्टैश वेरिएंट को लागू करने के लिए आवश्यक था। Git इनमें से कोई भी प्रकार प्रदान नहीं करता है।

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