2012-06-01 15 views
77

पर अंतिम गिट प्रतिबद्ध करें "आखिरी गिट को" चरणबद्ध नहीं किया गया "+" अनचाहे फ़ाइलें "क्षेत्रों में वापस ले जाने का सबसे अच्छा तरीका क्या है (प्रश्न में प्रतिबद्ध नहीं है/केवल आपके स्थानीय रेपो में, प्रभावी रूप से इसे HEAD से हटा रहा है)?अस्थिर क्षेत्र

दूसरे शब्दों में, आप एक प्रतिबद्धता को कैसे वापस लेते हैं, लेकिन स्वचालित रूप से उस अवांछित क्षेत्र में उस diff को लागू करते हैं?

उत्तर

134

फ़ाइलों के लिए उपयोग करने की

git reset --soft HEAD^ 

और अन्यथा

git reset HEAD^ 

--soft

चिह्नित करवाने के लिए (...) यह आपके सभी बदली हुई फ़ाइलें "के लिए प्रतिबद्ध होना में परिवर्तन" छोड़ देता है , क्योंकि गिट स्थिति इसे रखेगी।

+0

@jlb, पढ़ने के लिए ["demystified रीसेट करें]] (http://git-scm.com/2011/07/11/reset.html) इस उत्तर के साथ सलाह दी जाती है। – kostix

+1

@Stefan बहुत उपयोगी है। धन्यवाद। –

+0

"और अन्यथा" ... इन शब्दों को संदर्भ में कोई अर्थ नहीं है – PandaWood

3

git-extras एक git undo आदेश जो एक ही बात करने का तरीका याद करने के लिए (अन्य आसान एक्स्ट्रा कलाकार के एक नंबर के साथ साथ, के रूप में नाम का तात्पर्य) एक आसान है प्रदान करता है।

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