2016-09-14 4 views
5

कहो, मैं ऐसा करना चाहते हैं:क्या गिट कमांड को परमाणु रूप से गठबंधन करने का कोई तरीका है (खोल के माध्यम से नहीं)?

git checkout featureBranch 
git rebase master 

अगर मैं दो "खोल" आदेशों मैं क्या कर सकते हैं संयोजित करना चाहते हैं:

git checkout featureBranch && git rebase master 

हालांकि, कि परमाणु नहीं है। यदि git checkout कमांड किसी कारण से विफल रहता है, तो कार्यशील निर्देशिका पहले की स्थिति में नहीं, और न ही अंतिम अपेक्षित स्थिति में होगी। साथ ही, मेरी आईडीई जैसी अन्य प्रक्रियाएं, दोनों आदेशों के बीच मध्यवर्ती स्थिति को देखने में सक्षम हो सकती हैं।

क्या git परमाणु रूप से दो कार्यों को गठबंधन करने का एक तरीका प्रदान करता है?

मुझे पूर्ण फ़ाइल-सिस्टम स्तर परमाणुता की आवश्यकता नहीं है। यही है, यदि संयुक्त कार्रवाई को कार्यशील निर्देशिका में 10 फ़ाइलों को बदलने की आवश्यकता है, तो यह ठीक है अगर अन्य प्रक्रियाएं इन 10 परिवर्तनों को व्यक्तिगत रूप से देख सकती हैं।

संपादित करें: उपरोक्त दो आदेश केवल चित्रण के लिए हैं। साथ ही, यह 3 या अधिक कमांड हो सकता है जिन्हें जंजीर की आवश्यकता होती है।

उत्तर

4

man git-rebase के अनुसार इन आदेशों मर्ज किया जा सकता:

If <branch> is specified, git rebase will perform an automatic git checkout 
<branch> before doing anything else. Otherwise it remains on the current branch. 

तो आप बस चला सकते हैं:

git rebase master remoteBranch 

लेकिन वहाँ कोई सामान्य समाधान है।

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

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