গিট ডিফ - আমরা কেবল শুরুর দিকে এবং লাইনের শেষদিকে সাদা স্থান উপেক্ষা করি


366

আমি git diff -wহোয়াইটস্পেসের পার্থক্য উপেক্ষা করতে ব্যবহার করতে পছন্দ করি । তবে, আমি কেবল লক্ষ্য করেছি যে এটি লাইনের মাঝখানে সাদা অংশের পার্থক্যকেও উপেক্ষা করে। আমি কীভাবে কেবল শ্বেতস্পেসের পার্থক্যগুলি উপেক্ষা করতে পারি যা লাইনগুলির শুরুতে (^) বা শেষে ($) আসে?


31
git diff -bপরিবর্তে ব্যবহার করে বিবেচনা করা হয়?
জোনাস বাইস্ট্রম

5
"-b --ignore-space-change সাদা জায়গার পরিমাণে পরিবর্তনগুলি উপেক্ষা করুন line এটি লাইন শেষে সাদা স্থানকে উপেক্ষা করে এবং এক বা একাধিক সাদা বর্ণের অক্ষরের অন্যান্য ক্রমকে সমতুল্য বলে বিবেচনা করে।"
mowwwalker

উত্তর:


450

লাইন ব্যবহারের শেষের জন্য:

git diff --ignore-space-at-eol

আপনি বর্তমানে কী ব্যবহার করছেন তার পরিবর্তে:

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

লাইন শুরুর জন্য ... আপনি যদি বিল্ট ইন সলিউশন চান তবে আপনার ভাগ্যের বাইরে।

তবে আপনার হাত নোংরা হয়ে উঠতে আপত্তি না থাকলে সেখানে একটি পুরানো প্যাচ ভেসে বেড়াচ্ছে যে "--ignore-space-at-sol" এর পক্ষে সমর্থন যোগ করে।


ধন্যবাদ, তবে আপনি যদি কোনও বাহ্যিক সরঞ্জামের জন্য ডিফটি কনফিগার করেন তবে এটি কাজ করে না .. কোনও ধারণা?
অ্যাডার্ডিজাইন

@ অ্যাডারডিজাইন, আমি মনে করি এটি সম্ভবত বাহ্যিক সরঞ্জামে কনফিগার করা উচিত। আমি নিশ্চিত নই যে সাদা স্থান পরিবর্তন না করে পার্থক্য উপস্থাপনের জন্য গিট কিছু করতে পারে কিনা ... যদিও ভুল হতে পারে; গিট বেশ শক্তিশালী ...
জননি

এটি ডিফল্টরূপে কনফিগার করা ভাল হবে। আমার অর্থ -w বা -b বা --ignore- সমস্ত স্থান। এটি সম্পর্কে স্ট্যাকওভারফ্লো
আরটিয়াম ২

8
আমি -b পরামর্শের সাথে একমত হই, যেহেতু আমরা "abc Def" এবং "abcdef" কে একই হিসাবে দেখি, যা আমি খুব কমই চাই!
রিচার্ড ওয়াইজম্যান

3

এটি একটি পুরানো প্রশ্ন, তবে এখনও নিয়মিত দেখা / প্রয়োজন। আমি আমার মত সাবধানতা পাঠকদের পোস্ট করতে চান হোয়াইটস্পেস ওপি এর প্রশ্নে আপনাকে উল্লেখ করেছে হিসাবে না Regex সংজ্ঞা হিসাবে একই, নতুন লাইন, ট্যাব, এবং স্থান অক্ষর অন্তর্ভুক্ত করা - গীত আপনি স্পষ্টভাবে ব্যক্ত করতে অনুরোধ। এখানে কিছু বিকল্প দেখুন: https://git-scm.com/book/en/v2/Customizing-Git-Git- কনফিগারেশন

যেমন বলা হয়েছে, 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থেকে এখানে

আপনি --global পরামিতি বাদ দিয়ে কেবল সেই রেপোর জন্য এটি ডিফল্ট করতে পারেন এবং সেই রেপোর জন্য সেটিংস ফাইলটি পরীক্ষা করে। সিআর সমস্যার মুখোমুখি হয়েছি কিনা, চেক-ইন করার পরে যদি ওয়ারঙ্ক্রল্ফ বা অটোক্রোল্ফ = .gitconfig ফাইলের [মূল] বিভাগে সত্য হয় তবে এটি চলে যাবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.