इंटेलीज के शेल्व और गिट स्टैश के बीच अंतर क्या है?


99

IntelliJ git स्‍टैस का समर्थन करता है और साथ ही यह शेल्‍वी कमांड में निर्मित है। ये उद्देश्य और उपयोगिता में लगभग समान हैं। उनके बीच क्या अंतर है?


जवाबों:


66

IntelliJ प्रलेखन से :

गिट एकीकरण में, ठंडे बस्ते में डालने और अनसुना करने के अलावा, क्रमशः "स्टैशिंग" और "अनसैशिंग" का समर्थन किया जाता है। इन विशेषताओं में बहुत कुछ सामान्य है, एकमात्र अंतर यह है कि पैच को किस तरह से उत्पन्न और लागू किया जाता है।

  • स्टैक्ड परिवर्तन के साथ पैच Git द्वारा ही उत्पन्न होते हैं। उन्हें बाद में लागू करने के लिए, आपको IntelliJ IDEA की आवश्यकता नहीं है।
  • आश्रय परिवर्तन के साथ पैच IntelliJ IDEA द्वारा उत्पन्न होते हैं। आम तौर पर, वे आईडीई के माध्यम से भी लागू होते हैं। IntelliJ IDEA के बाहर आश्रय परिवर्तन लागू करना भी संभव है लेकिन इसके लिए अतिरिक्त चरणों की आवश्यकता होती है।

21
खैर, तो ठंडे बस्ते के साथ "कम संगत" होने के बाद से ठंडे बस्ते में डालने के क्या फायदे हैं?
MaxiWheat

17
ऐसा लगता है कि यदि आप एक वीसीएस का उपयोग करते हैं, जिसमें एक देशी स्टैश स्टाइल सुविधा नहीं थी, तो ठंडे बस्ते में डालना उपयोगी होगा। यदि आप git का उपयोग करते हैं, तो मैं कोई वास्तविक लाभ नहीं देख सकता।
डैनियल कॉम्पटन

4
'वास्तविक लाभ' को id.bobr द्वारा उत्तर में सूचीबद्ध किया गया है। मेरे लिए मुख्य बात यह चुनने में सक्षम हो रही है कि कौन सी फाइल / चंक्स को स्टैश करना है, कमिट करते समय।
मार्टिन मेल्का

Git 2.13 के बाद से, अलग-अलग फ़ाइलों के साथ संभव है git stash push
डेरिक लीमा

45

वे बहुत समान हैं सिवाय इसके:

  • आप आईडीई के बाहर आश्रय का उपयोग नहीं कर सकते, क्योंकि यह इंटेलीज की विशेषता है।
  • Git stash पूरे वर्किंग डायरेक्टरी और इंडेक्स के साथ ही काम करता है। IntelliJ की सेल्फ व्यक्तिगत फाइलों और चेंजलिस्ट्स (दूसरे IntelliJ की सुविधा) के साथ काम कर सकती है। जैसा कि आप देख सकते हैं, उदाहरण के लिए, यहां , कभी-कभी यह आवश्यक है।
  • आइडिया में सेल्फ के लिए बेहतर बिल्ट-इन सपोर्ट है। गिट स्टैश के साथ काम करना अधिक सरल है। विशेष रूप से, आप अपने परिवर्तनों को बदल सकते हैं या संस्करण नियंत्रण उपकरण विंडो से आश्रयित फ़ाइलों की समीक्षा कर सकते हैं।

इसके अलावा, IMHO, शेल्व थोड़ी तेजी से काम करता है, खासकर एक बड़ी परियोजना में, जब बहुत सारी फाइलें बदल दी गईं।

अधिक जानकारी के लिए दस्तावेज़ देखें ।


मुझे लगता है कि यह बहुत उपयोगी होने के लिए जल्दी से बदल देने के लिए एक परिवर्तनहीन पर क्लिक करना सही है। जैसा कि आप के लिए allude, मुझे यह थोड़ा तेज लगता है।
वाइकिंगस्टेवेट

3
"गिट स्टैश पूरे वर्किंग डायरेक्टरी और इंडेक्स के साथ ही काम करता है" - यह गलत है। Git stash व्यक्तिगत फ़ाइलों और फ़ोल्डरों को भी git stash -- foo/bar.txt
मिटा

20

एक अलग फायदा यह है कि इन्टेलिज के शेल्व में सादे गिट के स्लैश के ऊपर है कि शेल्व का उपयोग करके, आप एक चैनल में कई रिपोज से संबंधित परिवर्तनों को बचा सकते हैं। स्टैश का उपयोग करते हुए, आपको प्रत्येक रेपो में व्यक्तिगत रूप से स्टैश / अनस्टैश करना होगा। यह कई मॉड्यूल (प्रत्येक का अपना रेपो) होने के साथ एक बड़ी परियोजना में बहुत उपयोगी है, जहां एक विशेष सुविधा काम कई मॉड्यूल (और इसलिए कई रिपोज) में कटौती कर सकता है


0

यहाँ दस्तावेज़ीकरण कहते हैं

ठंडे बस्ते में डालना ठंडे बस्ते में डालने के समान है। एकमात्र अंतर यह है कि पैच किस तरीके से उत्पन्न और लगाए जाते हैं। स्टिट्स Git द्वारा उत्पन्न होते हैं, और इसे IntelliJ IDEA के भीतर या इसके बाहर से लागू किया जा सकता है। आश्रय परिवर्तन के साथ पैच IntelliJ IDEA द्वारा उत्पन्न होते हैं और आईडीई के माध्यम से भी लागू होते हैं। इसके अलावा, स्ट्रैसिंग में सभी अनकम्यूटेड बदलाव शामिल हैं, जबकि जब आप किसी शेल्फ में बदलाव करते हैं, तो आप उन सभी को बदलने के बजाय कुछ स्थानीय परिवर्तनों का चयन कर सकते हैं।

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