full - integrate git bash with visual studio code




गिट: प्रोजेक्ट प्रतिबद्धता इतिहास में हटाई गई फ़ाइल कैसे खोजें? (5)

@ अंबर ने सही जवाब दिया! बस एक और अतिरिक्त, यदि आप फ़ाइल के सटीक पथ को नहीं जानते हैं तो आप वाइल्डकार्ड का उपयोग कर सकते हैं! यह मेरे लिए काम किया।

git log --all -- **/thefile.*

एक बार एक बार, मेरे प्रोजेक्ट में एक फाइल थी जो अब मैं प्राप्त करने में सक्षम होना चाहूंगा।

समस्या यह है: मुझे नहीं पता कि मैंने इसे कब हटा दिया है और किस रास्ते पर था।

जब यह अस्तित्व में था तो मैं इस फ़ाइल के कामों का पता कैसे लगा सकता हूं?


दर्शकों में से एक का उपयोग करने का प्रयास करें, जैसे कि gitk ताकि आप उस आधे याद की गई फ़ाइल को खोजने के लिए इतिहास के चारों ओर ब्राउज़ कर सकें। (सभी शाखाओं के लिए आवश्यक होने पर gitk --all उपयोग करें)


यदि आप सटीक पथ को नहीं जानते हैं जिसका आप उपयोग कर सकते हैं

git log --all --full-history -- **/thefile.*

यदि आप फ़ाइल के पथ को जानते हैं, तो आप यह कर सकते हैं:

git log --all --full-history -- <path-to-file>

यह उस फाइल को छूने वाली सभी शाखाओं में कामों की एक सूची दिखाना चाहिए। फिर, आप अपनी इच्छित फ़ाइल का संस्करण पा सकते हैं, और इसे प्रदर्शित कर सकते हैं ...

git show <SHA> -- <path-to-file>

या इसे अपनी कार्यशील प्रतिलिपि में पुनर्स्थापित करें:

git checkout <SHA>^ -- <path-to-file>

कैरेट प्रतीक ( ^ ) पर ध्यान दें, जो किसी पहचान के पहले चेकआउट प्राप्त करता है, क्योंकि <SHA> फ़ाइल को हटाए जाने के समय, हटाए गए फ़ाइल की सामग्री प्राप्त करने के लिए हमें पिछली प्रतिबद्धता को देखने की आवश्यकता है


यहां की चीजों में से एक है जो हटाए गए फाइल का मार्ग प्राप्त करना है, इसलिए मैंने एक साधारण कमांड लिखा है, जहां एक देव या गिट उपयोगकर्ता हटाए गए फ़ाइल नाम को पास कर सकता है और इतिहास प्राप्त कर सकता है:

git log --diff-filter=D --summary | grep filename | awk '{print $4; exit}' | xargs git log --all -- 

यदि कोई है, तो आदेश में सुधार कर सकते हैं, कृपया करें।


हटाई गई फ़ाइलों की एक सूची प्राप्त करें और हटाए गए फ़ाइल का पूरा पथ कॉपी करें

git log --diff-filter=D --summary | grep delete

उस प्रतिबद्धता की प्रतिबद्ध आईडी खोजने के लिए अगले आदेश का निष्पादन करें और प्रतिबद्ध आईडी कॉपी करें

git log --all -- FILEPATH

हटाए गए फ़ाइल के diff दिखाएं

git show COMMIT_ID -- FILE_PATH

याद रखें, आप > फ़ाइल का उपयोग कर फ़ाइल में आउटपुट लिख सकते हैं

git show COMMIT_ID -- FILE_PATH > deleted.diff






git