Git फ़ाइलप्रोपेक्शन का ट्रैक रखता है और पैच का उपयोग करते समय अनुमति परिवर्तन को उजागर करता है git diff -p
। तो हम सभी की जरूरत है:
- रिवर्स पैच बनाएं
- केवल अनुमति परिवर्तन शामिल करें
- पैच को हमारी वर्किंग कॉपी पर लागू करें
एक-लाइनर के रूप में:
git diff -p -R --no-ext-diff --no-color \
| grep -E "^(diff|(old|new) mode)" --color=never \
| git apply
आप इसे अपने git config के उपनाम के रूप में भी जोड़ सकते हैं ...
git config --global --add alias.permission-reset '!git diff -p -R --no-ext-diff --no-color | grep -E "^(diff|(old|new) mode)" --color=never | git apply'
... और आप इसके माध्यम से आह्वान कर सकते हैं:
git permission-reset
ध्यान दें, यदि आप शेल हैं, तो उद्धरणों के बजाय bash
उपयोग करना सुनिश्चित करें , अन्यथा यह आपके द्वारा चलाए गए अंतिम कमांड के साथ प्रतिस्थापित हो जाता है ।'
"
!git
git
कि बस का उपयोग करके उनका कहना है के लिए @Mixologic को Thx -R
पर git diff
, बोझिल sed
आदेश नहीं रह गया है की आवश्यकता है।