/ / Git को कैसे बताऊं कि मैंने कोई फ़ाइल स्थानांतरित नहीं की है? - गिट

गिट को कैसे बताना है मैंने फाइल नहीं ले ली? - गिट

मैंने ज्यादातर डुप्लिकेट के साथ जावा-फाइलों को समेकित कियाकार्यक्षमता। इसलिए मैंने एक कक्षा से दूसरी कक्षा में कोड कॉपी किया और फिर पुरानी (अब अनावश्यक) फ़ाइल को हटा दिया। जब मैं यह समेकन करना चाहता हूं, git इसे फ़ाइल नाम बदलने के रूप में पहचानता है (शायद ज्यादातर ओवरलैपिंग कोड के कारण), भले ही यह "t" नहीं था।

क्या यह बताने का कोई तरीका है कि इस फाइल को "नया नाम नहीं दिया जाना चाहिए, लेकिन एक अपडेट और एक डिलीट के रूप में?

उत्तर:

जवाब के लिए 2 № 1

नहीं। एक चाल / नाम को अन्य सभी अद्यतनों से अलग नहीं किया गया है। यह सिर्फ एक बात है कि यह कैसे प्रदर्शित होता है। गिट एक का उपयोग करता है समानता सूचकांक यह निर्धारित करने के लिए कि कब इस पर विचार किया जाना चाहिएनाम बदलें। डिफ़ॉल्ट रूप से यह 50% है, मतलब, यदि आपके पास एक निष्कासन और एक ऐड है और कम से कम 50% शामिल लाइनें साझा की जाती हैं, तो यह एक नाम माना जाता है।

आप के साथ विभिन्न मूल्यों की कोशिश कर सकते हैं -M का विकल्प git-log:

-M [<n>]

--find-renames [= <n>]

यदि diffs उत्पन्न करना, नामों का पता लगाना और रिपोर्ट करनाप्रत्येक प्रतिबद्धता के लिए। इतिहास को घुमाने के दौरान नामों पर निम्नलिखित फ़ाइलों के लिए, देखें - follow। यदि एन निर्दिष्ट किया गया है, तो यह समानता सूचकांक (यानी फ़ाइल के आकार की तुलना में अतिरिक्त / हटाए जाने की राशि) पर एक सीमा है। उदाहरण के लिए, -एम 0 9% का मतलब है कि गिट को एक डिलीट / एड जोड़ी पर पुनर्नामित करना चाहिए यदि फ़ाइल का 90% से अधिक नहीं बदला गया है। एक% संकेत के बिना, संख्या को एक दशमलव बिंदु के साथ, एक अंश के रूप में पढ़ा जाना है। आईई, -एम 5 0.5 हो जाता है, और इस प्रकार -50% के समान होता है। इसी तरह, -एम05 -एम 5% के समान है। सटीक नामों के लिए पहचान को सीमित करने के लिए, -100% का उपयोग करें। डिफ़ॉल्ट समानता सूचकांक 50% है।