সমস্ত গিট কমান্ডের সাদা স্পেস পরিবর্তনগুলি উপেক্ষা করুন


26

আমি এমন অনেকগুলি সাইট পেয়েছি যা ব্যাখ্যা করে যে গিট কীভাবে আপনাকে কীভাবে সতর্ক করতে হবে যখন আপনি লাইন এন্ডিংগুলি পরিবর্তন করছেন, বা বিবিধ অন্যান্য কৌশলগুলি আপনাকে একটি সম্পূর্ণ ফাইল গোলমাল করা থেকে রোধ করতে পারে। ধরে নিন যে এটির জন্য খুব দেরী হয়েছে - গাছ ইতিমধ্যে প্রতিশ্রুতিবদ্ধ করেছে যে ফাইলগুলির লাইন শেষটি টগল করে, সুতরাং git diffএকই সামগ্রীতে একটি নতুন ফাইল যুক্ত করার পরে পুরানো ফাইলের বিয়োগফলকে দেখায়

আমি একটি গিট কনফিগারেশন বিকল্প বা কমান্ড-লাইন পতাকা খুঁজছি যা diffকেবল সেগুলি উপেক্ষা করতে বলে - যদি দুটি লাইন কেবল শ্বেত স্পেসের দ্বারা পৃথক হয় তবে ভান করুন যে তারা একই। - আমি কিছু ফাইল পার্থক্য উপর নির্ভর এই কনফিগ বিকল্প / পতাকা কাজ করতে হবে diff, blameএমনকি merge/ rebaseআদর্শভাবে - আমি চাই gitসম্পূর্ণরূপে trailing হোয়াইটস্পেস, বিশেষ করে লাইন শেষা w শ উপেক্ষা করা হয়। আমি এটা কিভাবে করবো?

উত্তর:


14

ভিন্নতার জন্য, এখানে রয়েছে git diff --ignore-space-at-eolযা যথেষ্ট ভাল হওয়া উচিত। পার্থক্য এবং দোষের জন্য, আপনি -w: git diff -w, git blame -w

জন্য git applyএবং git rebase, ডকুমেন্টেশন উল্লেখ --ignore-whitespace

মার্জ করার জন্য, দেখে মনে হচ্ছে আপনার বাহ্যিক মার্জ সরঞ্জামটি ব্যবহার করা দরকার। আপনি এই র‍্যাপার স্ক্রিপ্টটি ব্যবহার করতে পারেন (অনির্ধারিত), যেখানে favorite-mergetoolআপনার প্রিয় সংযুক্তির সরঞ্জামটি রয়েছে ; চালান git -c mergetool.nocr.cmd=/path/to/wrapper/script merge। সংযুক্তির ফলাফলটি ইউনিক্স ফর্ম্যাটে থাকবে; আপনি যদি অন্য কোনও ফর্ম্যাট পছন্দ করেন তবে সবকিছুকে সেই ভিন্ন বিন্যাসে রূপান্তর করুন বা $MERGEDমার্জ হওয়ার পরে রূপান্তর করুন।

#!/bin/sh
set -e
TEMP=$(mktemp)
tr -d '\013' <"$BASE" >"$TEMP"
mv -f "$TEMP" "$BASE"
TEMP=$(mktemp)
tr -d '\013' <"$LOCAL" >"$TEMP"
mv -f "$TEMP" "$LOCAL"
TEMP=$(mktemp)
tr -d '\013' <"$REMOTE" >"$TEMP"
mv -f "$TEMP" "$REMOTE"
favorite-mergetool "$@"

মিশ্র লাইনের শেষের সাথে ঝামেলা কমাতে, পাঠ্য ফাইলগুলি যেমন ঘোষিত হয়েছে তা নিশ্চিত করুন

আরও দেখুন কি গিট-সংহতকরণের জন্য লাইন-শেষের পার্থক্য উপেক্ষা করা সম্ভব? স্ট্যাক ওভারফ্লো


গিট দোষের সাথে সর্বদা -W পতাকা ব্যবহার করার জন্য কি কোনও কনফিগারেশন রয়েছে?
থাইনে

@ থায়েন যে আমি জানি না। আপনি যেমন একটি উপনাম সংজ্ঞায়িত করতে পারেন bl = blame -wতবে আপনি অন্তর্নির্মিত কমান্ডগুলির নামটি পুনরায় সংজ্ঞা দিতে পারবেন না এবং এটি ডিফল্ট করার জন্য আমি কোনও কনফিগারেশন বিকল্প দেখতে পাচ্ছি না। তবে আমি গিট বিশেষজ্ঞ নই।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

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