मैं उपयोग करूँगा git restore(git 2.23 के बाद से उपलब्ध)
git restore --source otherbranch path/to/myfile.txt
यह अन्य विकल्पों की तुलना में बेहतर क्यों है?
git checkout otherbranch -- path/to/myfile.txt- यह वर्किंग डायरेक्टरी में फाइल को कॉपी करता है, लेकिन स्टेजिंग एरिया को भी (इसी तरह का इफेक्ट अगर आप इस फाइल को मैनुअली कॉपी करेंगे और git addउस पर अमल करेंगे)। git restoreमंचन क्षेत्र को स्पर्श न करें (जब तक कि इसे कहा न जाए--staged विकल्प के रूप में है)।
git show otherbranch:path/to/myfile.txt > path/to/myfile.txtमानक शेल पुनर्निर्देशन का उपयोग करता है। यदि आप पॉवर्सशेल का उपयोग करते हैं तो टेक्स्ट एन्कोडिंग के साथ समस्या हो सकती है या यदि यह द्विआधारी है तो आपको टूटी हुई फ़ाइल मिल सकती है । git restoreफ़ाइलों को बदलने के साथ सभी द्वारा किया जाता हैgit निष्पादन योग्य ।
एक और लाभ यह है कि आप पूरे फ़ोल्डर को पुनर्स्थापित कर सकते हैं:
git restore --source otherbranch path/to
या git restore --overlay --source otherbranch path/toयदि आप फ़ाइलों को हटाने से बचना चाहते हैं। उदाहरण के लिए यदि otherbranchवर्तमान कार्य निर्देशिका की तुलना में कम फ़ाइलें हैं (और इन फ़ाइलों को ट्रैक किया गया है ) बिना --overlayविकल्प के git restoreउन्हें हटा देगा। लेकिन यह अच्छा डिफ़ॉल्ट bahaviour है, आप सबसे अधिक संभावना चाहते हैं कि निर्देशिका की स्थिति उसी तरह हो otherbranch, जैसे "वही नहीं बल्कि मेरी वर्तमान शाखा में अतिरिक्त फ़ाइलों के साथ"