प्रश्न को फिर से पढ़ना, ऐसा लगता है कि आप उन परिवर्तनों को वापस करना चाहते हैं जो आपके काम करने वाले पेड़ में हैं और उन परिवर्तनों को नहीं जो पहले किए गए हैं, लेकिन कुछ अन्य उत्तर इसे ध्वनि बनाते हैं जैसे मेरा पढ़ना गलत हो सकता है। क्या आप स्पष्ट कर सकते हो?
यदि परिवर्तन केवल आपकी कार्य प्रतिलिपि में हैं, तो ऐसा करने का सबसे आसान तरीका उन परिवर्तनों को चरणबद्ध करना है जिन्हें आप रखना चाहते हैं:
git add -i <file>
फिर उन परिवर्तनों को फेंक दें जिन्हें आप अनुक्रमणिका संस्करण की जाँच करके नहीं रखना चाहते हैं:
git checkout -- <file>
यदि आप उन्हें अभी तक मंचित नहीं करना चाहते हैं, तो तब परिवर्तन को रोकें:
git reset -- <file>
यह नुस्खा केवल फ़ाइल में चयनित परिवर्तनों (या आपके द्वारा निर्दिष्ट फ़ाइलों) को पुन: वितरित करता है और कोई भी अस्थायी प्रतिबद्ध नहीं बनाता है, जिसे फिर से बदलने की आवश्यकता है।
अगर आप पहले के कमिट में किए गए कुछ बदलावों को चुनिंदा रूप से लागू करना चाहते हैं, तो आप पहले एक पहले प्रतिबद्ध राज्य में फाइल रीसेट कर सकते हैं:
git reset <commit_before_first_unwanted_change> -- <file>
फिर आप git add -i <file>
उन बदलावों को मंचित करने के लिए, जिन्हें आप रखना चाहते हैं, git checkout -- <file>
अवांछित परिवर्तनों को दूर करने और परिवर्तनों git reset -- <file>
को 'अस्थिर' करने के लिए पिछले नुस्खा का पालन कर सकते हैं।