आप जो हासिल करना चाहते हैं, उसके आधार पर आपके पास अलग-अलग विकल्प हैं:
यदि आप चाहते हैं कि फ़ाइल की सामग्री लक्ष्य शाखा पर समान हो, तो आप उपयोग कर सकते हैं git checkout <branch> -- <filename>। हालाँकि यह उन परिवर्तनों को "चेरी-पिक" नहीं करेगा जो एक ही प्रतिबद्ध में हुए थे, लेकिन केवल उक्त फ़ाइल की परिणामी स्थिति को ही लें। इसलिए यदि आपने कमिट में एक लाइन जोड़ी है, लेकिन पिछले कमिट अधिक बदल गए हैं, और आप केवल उन अन्य परिवर्तनों के बिना उस लाइन को जोड़ना चाहते हैं, तो एक चेकआउट वह नहीं है जो आप चाहते हैं।
अन्यथा यदि आप केवल एक ही फ़ाइल के लिए कमिट में पेश किए गए पैच को लागू करना चाहते हैं, तो आपके पास कई विकल्प हैं। आप git cherry-pick -nइसे चला सकते हैं , यानी इसे कमिट किए बिना, कमिट एडिट कर सकते हैं (उदाहरण के लिए सभी फाइलों को रीसेट करें git reset -- .और केवल उस फाइल को जोड़ें, जिसे आप वास्तव में इस्तेमाल करके बदलना चाहते हैं git add <filename>)। या आप फ़ाइल के लिए अंतर बना सकते हैं और फिर अंतर लागू कर सकते हैं:
git diff <branch>^..<branch> -- <filename> | git apply