2011-10-14 23 views
11

गिथब के साथ कुछ सामान्य वर्कफ़्लोज़ को ढूंढने में सहायता चाहिए। मैं एक वीएस टीएफएस पृष्ठभूमि से आया हूं, इसलिए मुझे माफ़ कर दो।गिट: स्थानीय परिवर्तन पूर्ववत करें; गिट जोड़ें + गिट आरएम?

पूर्ववत किया जा रहा लंबित परिवर्तनों

चलो कहते हैं कि मैं अपने स्थानीय फाइल सिस्टम के लिए एक Git भंडार का क्लोन है करते हैं। इस बिंदु पर, प्रोजेक्ट की स्थानीय फाइलें रिमोट रिपोएस्टिक्स में बिल्कुल ठीक से मेल खाते हैं।

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

मैं इन स्थानीय परिवर्तनों को पूर्ववत कैसे कर सकता हूं, उन्हें भंडार में मौजूदा संस्करणों में पुनर्स्थापित कर सकता हूं?

सभी परिवर्तन स्वीकार हो

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

हालांकि, जब मैं स्थानीय रूप से फ़ाइल को हटा देता हूं जो भंडार में ट्रैक किया जाता है, तो "गिट एड"। आरएम परिवर्तनों को कैप्चर नहीं करता है। इसके बजाय, मुझे भंडार को अद्यतन करने के लिए "गिट प्रतिबद्ध" करने से पहले मुझे "git rm [filename]" करना होगा। मैं हमेशा ऐसा करना भूल जाता हूं।

क्या कोई गिट कमांड है जो "गिट एड" करेगा। और "git rm" किसी भी फाइल को मैंने स्थानीय रूप से हटा दिया है, एक चरण में? स्थानीय फाइलों को संशोधित करने और जोड़े को हटाने के बाद, मैं केवल एक कमांड जारी करना चाहता हूं जो "गिट प्रतिबद्ध" से पहले मेरे सभी परिवर्तनों को कैप्चर करता है।

उत्तर

22

मैं इन स्थानीय परिवर्तनों को पूर्ववत भंडार में वर्तमान संस्करण के लिए उन्हें बहाल करने, करते हैं? `

git reset --hard 

(यह अपने सूचकांक और सिर के लिए काम कर निर्देशिका रीसेट हो जाएंगे)

क्या कोई गिट कमांड है जो "गिट एड" करेगा। और "Git rm" किसी भी फाइल मैं स्थानीय रूप से हटा दिया हो, एक कदम में? `

git add -u 

(यह अभ्यस्त नई फ़ाइलें जोड़)

आप नई फ़ाइलें भी जोड़ चाहते हैं, rm को दूर ' फ़ाइलों में एड फ़ाइलें और चरण संशोधन:

git add -A 
+0

मुझे लगता है कि यह सही जवाब है। अधिक जानकारी के लिए इस लिंक को देखें: http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html – dresende

3

आप के लिए वापस कर सकते हैं अपने पिछले वैध प्रतिबद्ध (यानी दौरे उदाहरण में दूरस्थ रेपो, की प्रतिलिपि) जारी करके:

git reset --hard HEAD 

साथ ही, मैं उपयोगी http://progit.org/2011/07/11/reset.html पेज पढ़ने का सुझाव को समझने के लिए रीसेट काम करते हैं और इंडेक्स क्या है, और क्यों गिट ऐड और गिट आरएम अलग-अलग कमांड हैं।