मुझे लगता है कि आप शायद सूचकांक की अवधारणा से भ्रमित हो गए हैं , जैसा कि @CB बेली ने टिप्पणी की है:
मंचन क्षेत्र सूचकांक है।
आप केवल एक ही चीज़ के रूप में निर्देशिका और सूचकांक का मंचन करने पर विचार कर सकते हैं ।
तो, @Tim हेनिगन के जवाब की तरह , मुझे लगता है:
आप बस git add
उस फ़ाइल के लिए किया गया "पूर्ववत" करना चाहते हैं ।
यहाँ मेरा जवाब है:
आम तौर पर, एक मंच संचालन को पूर्ववत करने के दो तरीके हैं , जैसा कि पहले से ही वर्णित अन्य उत्तर हैं:
git reset HEAD <file>
तथा
git rm --cached <file>
लेकिन फर्क क्या है?
मान लें कि फ़ाइल का मंचन किया गया है और वर्किंग डायरेक्टरी में भी मौजूद है, git rm --cached <file>
यदि आप इसे स्टेजिंग डायरेक्टरी से हटाना चाहते हैं , और फाइल को वर्किंग डायरेक्टरी में रखें । लेकिन ध्यान दें कि यह ऑपरेशन न केवल फ़ाइल को मचान निर्देशिका से हटा देगा, बल्कि यदि आप उपयोग करते हैं, तो फ़ाइल को मचान निर्देशिकाdeleted
में चिह्नित करें
git status
इस ऑपरेशन के बाद, आप इसे देखेंगे:
deleted: <file>
यह फ़ाइल को मंचन निर्देशिका से हटाने का रिकॉर्ड है । यदि आप उस रिकॉर्ड को रखना नहीं चाहते हैं और केवल एक फ़ाइल के पिछले चरण के संचालन को पूर्ववत करना चाहते हैं, तो git reset HEAD <file>
इसके बजाय उपयोग करें ।
-------- अंत का अंत --------
पुनश्च: मैंने कुछ उत्तरों का उल्लेख किया है:
git checkout -- <file>
यह आदेश जब फाइल कर दिया गया है स्थिति के लिए है का मंचन किया , लेकिन फ़ाइल में संशोधित किया गया है निर्देशिका काम कर के बाद यह, का मंचन किया गया में फ़ाइल को पुनर्स्थापित करने के लिए इस आपरेशन का उपयोग निर्देशिका काम कर रहा से निर्देशिका के मंचन । दूसरे शब्दों में, इस ऑपरेशन के बाद, आपके वर्किंग डायरेक्टरी में बदलाव होते हैं , न कि आपके स्टेजिंग डायरेक्टरी में ।