2011-12-19 16 views
11

मैं हमेशा अपने कोड को सिंक करने के लिए गिट रिबेस का उपयोग करता हूं, मैंने पाया कि git stash वर्तमान कार्य को सहेजता है और मास्टर से नवीनतम कोड लाने के बाद हम git stash pop का उपयोग करके इसे हमारे कोड से विलय कर सकते हैं।गिट स्टैश पॉप बनाम गिट रिबेस

मान लीजिए अनुक्रम है:

  • git stash, यानी मेरे वर्तमान काम
  • git checkout master सहेजा जाता है, तो git pull master, यानी मैं मास्टर
  • git checkout mybranch
  • git stash pop
से नवीनतम कोड दिलवाया है

मुझे लगता है कि इस अपडेट किए गए कोड के साथ अपने काम में मर्ज हो जाएगी, अगर git stash pop के बजाय मैं
git rebase master करेंगे तो परिणाम एक ही है या नहीं हो जाएगा?

आपके सुझाव और मदद

सराहना की जाएगी, अपने समय के लिए धन्यवाद।

उत्तर

12

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

यदि आपके पास वास्तविक काम है, जिसमें काम पूरा हो गया है, तो इतिहास में आने वाले विलय/पुनर्जन्म के लिए git merge या git rebase का उपयोग करें।

+0

बस इस सुविधा के अस्तित्व को समझें! मैं हमेशा rebasing करता हूँ .. क्या शर्म की बात है! धन्यवाद :) जब 'Git merge'' बनाम Git rebase' यहाँ का उपयोग करने पर – nonintanon

+0

और जानकारी: http://stackoverflow.com/a/804156/2104168 – cjsimon

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