Git diff -w केवल लाइनों के प्रारंभ और अंत में व्हाट्सएप को अनदेखा करें


366

मुझे git diff -wव्हॉट्सएप मतभेदों को नजरअंदाज करने के लिए उपयोग करना पसंद है । लेकिन, मैंने अभी देखा कि यह लाइनों के बीच में भी व्हॉट्सएप के अंतर को नजरअंदाज करता है। मैं केवल व्हॉट्सएप के अंतर को कैसे अनदेखा कर सकता हूं जो लाइनों के प्रारंभ (^) या अंत ($) पर आते हैं?


31
git diff -bइसके बजाय का उपयोग कर माना जाता है?
जोनास बिस्ट्रॉम

5
"-b --ignore-space-change व्हॉट्सएप की मात्रा में बदलाव को अनदेखा करता है। यह लाइन के अंत में व्हॉट्सएप को नजरअंदाज करता है, और एक या एक से अधिक व्हाट्सएप के अन्य सभी दृश्यों को समतुल्य मानता है।"
mowwwalker

जवाबों:


450

लाइन उपयोग के अंत के लिए:

git diff --ignore-space-at-eol

इसके बजाय आप वर्तमान में क्या उपयोग कर रहे हैं:

git diff -w (--ignore-all-space)

लाइन की शुरुआत के लिए ... यदि आप समाधान में निर्मित चाहते हैं तो आप भाग्य से बाहर हैं।

हालांकि, अगर आपको अपने हाथों को गंदा करने में कोई आपत्ति नहीं है, तो वहां एक पुराना पैच तैर रहा है, जो "--ignore-space-at-sol" के लिए समर्थन जोड़ता है।


धन्यवाद, लेकिन यह काम नहीं करता है अगर आप एक बाहरी उपकरण के लिए कॉन्फ़िगर किया गया है .. कोई विचार?
एडवर्डजेन

@ प्रारूप, मुझे लगता है कि शायद बाहरी उपकरण में कॉन्फ़िगर करना होगा। मुझे यकीन नहीं है कि अगर व्हाट्सएप परिवर्तन के बिना अंतर को पेश करने के लिए कुछ भी किया जा सकता है ... हालांकि गलत हो सकता है; git बहुत शक्तिशाली है ...
जॉनी

इसे डिफ़ॉल्ट रूप से कॉन्फ़िगर करना अच्छा होगा। मेरा मतलब है -w या -b या --ignore-all-space। इसके बारे में चर्चा है कि stackoverflow.com/questions/7310033/…
Artyom

8
मैं -b के सुझाव से सहमत हूँ, जब से "abc def" और "abcdef" को समान माना जाता है, जो कि शायद ही मैं चाहता हूँ!
रिचर्ड वाइसमैन

3

यह एक पुराना सवाल है, लेकिन अभी भी नियमित रूप से देखा / जरूरत है। मैं मेरे जैसे सावधानी पाठकों कि करने के लिए पोस्ट करना चाहते हैं खाली स्थान के ओपी के सवाल में उल्लिखित है नहीं Regex की परिभाषा के रूप में ही, नई-पंक्तियों, टैब, और अंतरिक्ष अक्षर शामिल करने के लिए - Git आप स्पष्ट होना करने के लिए कहता है। कुछ विकल्प यहां देखें: https://git-scm.com/book/en/v2/Customizing-Git-Git-Cofromuration

जैसा कि कहा गया है, git diff -bया git diff --ignore-space-changeपंक्ति के अंत में रिक्त स्थान की उपेक्षा करेगा। यदि आप चाहते हैं कि सेटिंग आपका डिफ़ॉल्ट व्यवहार हो, तो निम्न पंक्ति आपके .gitconfig फ़ाइल के इरादे को जोड़ती है, इसलिए यह हमेशा पंक्ति के अंत में स्थान की उपेक्षा करेगा:

git config --global core.whitespace trailing-space

मेरे मामले में, मुझे यह सवाल मिला क्योंकि मैं "कैरिज रिटर्न व्हॉट्सएप अंतर" को नजरअंदाज करने में दिलचस्पी रखता था, इसलिए मुझे इसकी आवश्यकता थी:

git diff --ignore-cr-at-eolया git config --global core.whitespace cr-at-eolसे यहाँ

आप इसे केवल उस रेपो के लिए डिफ़ॉल्ट - theglobal पैरामीटर को छोड़ कर, और उस रेपो के लिए सेटिंग फ़ाइल में जाँच कर सकते हैं। सीआर समस्या के लिए मुझे सामना करना पड़ा, यह चेक-इन के बाद दूर हो जाता है अगर .nnconfig फ़ाइल के [कोर] अनुभाग में warncrlf या autocrlf = true।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.