मैं उपयोग करूँगा 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
, जैसे "वही नहीं बल्कि मेरी वर्तमान शाखा में अतिरिक्त फ़ाइलों के साथ"