मैं गिट के धैर्य diff एल्गोरिदम का उपयोग करना चाहता हूं (--patience
तर्क के साथ git diff
के साथ आप git add -p
के साथ प्राप्त करते हैं)। मैं यह कैसे कर सकता हूँ?इंटरैक्टिव जोड़ने के लिए गिट के धैर्य diff एल्गोरिदम का उपयोग करें
पृष्ठभूमि: मैं कुछ एक्सएमएल फाइलों के साथ काम कर रहा हूं, और git diff
के सामान्य एल्गोरिदम produces pretty poor diffs due to "misaligned" entry/exit tags। अगर मैं git diff --patience
चलाता हूं, तो मुझे और अधिक उपयोगी अंतर मिलते हैं, लेकिन git add -p
में इन diffs का उपयोग करने का कोई स्पष्ट तरीका नहीं है।
git diff --patience <commitA> <commitB> > /tmp/patch.out
# checkout a new branch or otherwise do what you need to prep
git apply < /tmp/patch.out
कि करने के लिए diff के उत्पादन में लागू कर देंगे:
मुझे यकीन नहीं है कि आप अभी यह कर सकते हैं, लेकिन यह 'गिट' डेवलपर्स को बनाने के लिए एक योग्य सुझाव की तरह लगता है ... वास्तव में, अन्य 'गिट diff' विकल्प भी हो सकते हैं जो उपयोगी होंगे 'git add' और अन्य स्थानों पर खुलासा करने के लिए जहां अन्यथा डिफ़ॉल्ट-ish' git diff' किया जाता है ... – twalberg
इस पंक्ति को कोड में देखें: https://github.com/git/git/blob/master/builtin /add.c#L273 – greg0ire