निम्नलिखित उपयोग करने पर विचार करें:एक नामित फ़ाइल का नया पथ कैसे ढूंढें जिसका मूल नाम ज्ञात है?
मैं अपनी स्थानीय शाखा पर काम कर रहा हूं जबकि मुख्य शाखा पर रिफैक्टरिंग किया गया है। अब कुछ फाइलों (कक्षाओं) का नाम बदल दिया गया है और/या नए स्थानों पर स्थानांतरित कर दिया गया है। जब विलय हो रहा है तो मुझे लापता वर्गों के कारण बहुत सारी और आयात-त्रुटियां मिलती हैं।
--A--B--C--D--E-- (master)
\ \
F--G--H--I--J (topic)
A
में पुराने नाम जो मैं F--G--H--I
में इस्तेमाल कर रहे हैं।
B--C--D--E
में फ़ाइलों को दोबारा प्रतिक्रिया दी जाती है जिसके परिणामस्वरूप E
में नए फ़ाइल नाम होते हैं। इस श्रृंखलित भी शामिल है अपनी शाखा को लापता हो refactorings के कारण
B: path/to/File.java
-> C: path/to/BetterName.java
-> D: better/package/BetterName.java
-> E: final/package/FinalName.java
जैसे कई (संकलन) त्रुटियों के साथ J
में परिणाम अब विलय नाम बदलता है। (क्योंकि मैं अभी भी path.to.File
के बजाय final.package.FinalName
के आदेश टूटा निर्माण को ठीक करने के लिए देखें, मैं वर्ष कक्षाओं के लिए नए नाम जानना चाहते हैं।
सभी renames है कि प्राप्त करने के लिए एक Git आदेश है किसी विशेष फ़ाइल पर लागू किया गया है?
अपनी स्क्रिप्ट काम करता है के लिए एक विकल्प
alias.history=!bash -ic 'git_file_history "[email protected]"' -
जोड़ा? यदि हां, तो मुझे आपका प्रश्न नहीं मिला – CharlesBहां यह काम करता है लेकिन मैं सोच रहा था कि ऊपर लिपि की तुलना में एक सरल समाधान है या नहीं। जैसा कि मुझे हर फाइल के लिए करना है। – helt
आपको '-एम' विकल्प के साथ नाम खोजने के लिए' गिट लॉग 'बताना होगा। फिर आप केवल नामों की रिपोर्ट करना चाहते हैं और यह '--diff-filter' विकल्प के साथ किया जाता है। मैंने अपने जवाब में और विस्तार जोड़ा है। –