Git में नाम बदलने का सही तरीका क्या है, जैसे:
git mv file1 file2
Git में नाम बदलने का सही तरीका क्या है, जैसे:
git mv file1 file2
जवाबों:
गैर-चुटीला जवाब:
git mv file2 file1
पुराने और नए दोनों रास्तों के लिए अनुक्रमणिका को स्वचालित रूप से अपडेट करता है।
गिट mv के प्रलेखन की जाँच करें
git checkout .
साथ भी काम क्यों नहीं -f
होता है?
git checkout -- .
।
fatal: source directory is empty,
केवल git reset --hard
काम किया।
यदि आपने अंतिम प्रतिबद्ध होने के बाद से कोई अन्य परिवर्तन नहीं किया है (जो आप रखना चाहते हैं), आप कर सकते हैं
git reset --hard
git reset --hard
। बस इसे पीछे की ओर ले जाना मेरे लिए एक सुरक्षित विकल्प लगता है।
git reset HEAD file2
मेरे लिए चाल चली
मेरे मामले में, मैंने एक संपूर्ण फ़ोल्डर ले लिया, तब मुझे एहसास हुआ कि मुझे नहीं होना चाहिए।
मुझे वास्तव में @Dave Konopka का उत्तर पसंद आया, लेकिन मुझे उस दृष्टिकोण (शायद GIT (1.8.4) के मेरे संस्करण) के साथ बहुत अधिक सफलता नहीं मिली! मेरी फाइलें अभी भी नष्ट हो गई हैं। मेरे पास उस स्टैक पर अन्य परिवर्तन थे जो मैं नहीं चाहता था। खोना (दुर्भाग्य से)।
मुझे यह करने में सफलता मिली:
git reset moved_folder
git checkout original_folder
यह इस बात पर निर्भर करता है कि आप क्या हासिल करना चाहते हैं। यदि आप चाहते हैं कि यह दिखाई दे जैसे कि फ़ाइल को कभी स्थानांतरित नहीं किया गया था, तो आप इस कदम से पहले वापस (या रिबेस) रीसेट कर सकते हैं। यदि आप इतिहास के बारे में परवाह नहीं करते हैं, तो बस इसे वापस ले जाएं।
यदि आपने गलती से बड़ी संख्या में फ़ाइलों का नाम बदल दिया है और आप जहां से शुरू हुए हैं, वहां वापस जाना चाहते हैं, तो कॉल के adds
तहत दिखाई देने वाली सभी नामांकित फ़ाइलों को हटा दें git status
।
एक बार जब आप सभी परिवर्तित फ़ाइलों को हटा देते हैं तो आप git checkout -- *
स्थानीय फ़ाइल नामों को स्थानीय रूप से वापस पाने के लिए चला सकते हैं ।
git reset HEAD file2
git checkout -- file1
rm file2
पहला कमांड फ़ाइल 2 को अनस्टेज करता है, लेकिन इसकी एक कॉपी चारों ओर छोड़ देता है। दूसरा कमांड मूल फ़ाइल को पुनर्स्थापित करता है और तीसरा नई फ़ाइल को हटा देता है।
मैंने जिस ट्रिक का इस्तेमाल किया था, वह मेरे सारे बदलावों (जिसमें mv'd फाइल्स को रिस्टोर करना भी शामिल है) को पूर्ववत करने के लिए एक git stash करना था और फिर git stash ड्रॉप के साथ stash को डिलीट कर दिया।
git mv file2 file1