मूल रेपो में स्थानीय फ़ाइल के साथ बल अधिलेखित करें?


224

मैं उस नवीनतम फ़ाइल को प्राप्त करना चाहता हूं जो रिपॉजिटरी में है, और जो मेरे पास स्थानीय है उसे अधिलेखित करें। मैं इसे git क्लाइंट के साथ कैसे कर सकता हूं?

जवाबों:


443

यदि आप केवल एक फ़ाइल को अधिलेखित करना चाहते हैं:

git fetch
git checkout origin/master <filepath>

यदि आप सभी परिवर्तित फ़ाइलों को अधिलेखित करना चाहते हैं :

git fetch
git reset --hard origin/master

(यह मानता है कि आप masterस्थानीय स्तर पर काम कर रहे हैं और आप मूल पर परिवर्तन चाहते हैं master- यदि आप एक शाखा पर हैं, तो इसके बजाय इसे प्रतिस्थापित करें।)


इसने इसके विपरीत किया। इसने रिपॉजिटरी को गलत तरीके से मेरी स्थानीय फाइलों के साथ बदल दिया।
C_Rod

git fetch git reset --hard origin/masterया/<branch name>
एड्रियन फिलिप्सेस्कु

यह बहुत अच्छा है ... बिल्कुल मैं क्या देख रहा था। धन्यवाद
थियागो Passos

निश्चित नहीं है कि @C_Rod ने क्या किया, लेकिन यह संभवतः भंडार को प्रभावित नहीं कर सकता है
ब्रैड मेस

26

सरल संस्करण, यह मानते हुए कि आप उसी शाखा पर काम कर रहे हैं जिस फ़ाइल को आप चाहते हैं:

git checkout path/to/file

मैं ऐसा अक्सर करता हूं कि मुझे एक उर्फ ​​सेट मिला है gc='git checkout'


4
सरल, सुरुचिपूर्ण, और काम करता है। जरा पहले remember गिट लाने ’को याद करें।
अल्मीर कैम्पोस

6
git checkout path/to/fileमेरे लिए काम किया। इसके अलावा, मैंने इस चित्र को वैचारिक रूप से समझने के लिए बहुत उपयोगी पाया कि git checkoutयह क्या कर रहा है। लिंक
काले स्वीनी


3

पूर्ण सिंक में कुछ कार्य हैं:

  • बदलावों को पलटना
  • नई फाइलें निकाल रहा है
  • दूरस्थ रिपॉजिटरी से नवीनतम प्राप्त करें

git रीसेट HEAD --hard

साफ साफ -फिट

git पुल ओरिजिनल मास्टर

वरना, मैं जो पसंद करता हूं वह यह है कि, मैं रिमोट के उपयोग से नवीनतम के साथ एक नई शाखा बना सकता हूं:

git checkout origin/master -b <new branch name>

उत्पत्ति मेरा दूरस्थ रिपॉजिटरी संदर्भ है, और मास्टर मेरा माना शाखा नाम है। ये आपसे अलग हो सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.