कहो मैं एक Git भंडार में हूँ। मैं एक फ़ाइल हटाता हूं और उस परिवर्तन को करता हूं। मैं काम करना जारी रखता हूं और कुछ और काम करता हूं। फिर, मुझे लगता है कि मुझे उस फ़ाइल को पुनर्स्थापित करने की आवश्यकता है।
मुझे पता है कि मैं एक फ़ाइल का उपयोग करके जांच कर सकता हूं git checkout HEAD^ foo.bar
, लेकिन मुझे वास्तव में नहीं पता है कि उस फ़ाइल को कब हटा दिया गया था।
- दिए गए फ़ाइलनाम को हटाने वाली प्रतिबद्ध को खोजने का सबसे तेज़ तरीका क्या होगा?
- उस फ़ाइल को मेरी कार्य प्रतिलिपि में वापस लाने का सबसे आसान तरीका क्या होगा?
मुझे उम्मीद है कि मुझे अपने लॉग को मैन्युअल रूप से ब्राउज़ करने की ज़रूरत नहीं है, किसी दिए गए SHA के लिए पूरी परियोजना की जांच करें और फिर उस फ़ाइल को अपने मूल प्रोजेक्ट आउटआउट में मैन्युअल रूप से कॉपी करें।
git log --diff-filter=D -- path/to/file
git checkout deletedFile
हटाना रद्द कर देगा deletedFile
यदि इसे हटा दिया गया है, लेकिन उस विलोपन का अभी तक मंचन या प्रतिबद्ध नहीं किया गया है । यही सवाल यहाँ नहीं पूछ रहा है; यह प्रश्न उस फ़ाइल को पुनर्स्थापित करने के तरीके के बारे में है जिसका विलोपन कई कमिट पहले किया गया था।