এই বার্তাগুলি core.autocrlfউইন্ডোজের ভুল ডিফল্ট মানের কারণে ।
এর ধারণাটি autocrlfহ'ল লাইন এন্ডিং রূপান্তরগুলি স্বচ্ছভাবে পরিচালনা করা। এবং এটা!
খারাপ সংবাদ : মানটি ম্যানুয়ালি কনফিগার করা দরকার।
সুসংবাদ : এটি প্রতি গিট ইনস্টল করার জন্য কেবল একবারে করা উচিত (প্রতি প্রকল্প সেটিংও সম্ভব)।
কীভাবে autocrlfকাজ করে :
core.autocrlf=true: core.autocrlf=input: core.autocrlf=false:
repo repo repo
^ V ^ V ^ V
/ \ / \ / \
crlf->lf lf->crlf crlf->lf \ / \
/ \ / \ / \
এখানে crlf= উইন-স্টাইলের সমাপ্তি-লাইন চিহ্নিতকারী, lf= ইউনিক্স-স্টাইল (এবং ম্যাক ওএসএক্স)।
( crউপরের তিনটি বিকল্পের কোনওটির জন্য প্রাক-অক্স প্রভাবিত নয়)
এই সতর্কতা কখন প্রদর্শিত হবে (উইন্ডোজ অধীনে)
- autocrlf= trueযদি lfআপনার ফাইলগুলির মধ্যে একটিতে ইউনিক্স-শৈলী থাকে (= বিরল),
- autocrlf= inputযদি আপনার কোনও একটিতে উইন-স্টাইল থাকে crlf(= প্রায় সর্বদা),
- autocrlf= false- কখনও না!
এই সতর্কতার অর্থ কী
সতর্কতা " এলএফ সিআরএলএফ দ্বারা প্রতিস্থাপন করা হবে " বলে যে আপনি (থাকার autocrlf= true) কমিট-চেকআউট চক্রের পরে আপনার ইউনিক্স-স্টাইলের এলএফ হারাবেন (এটি উইন্ডোজ-স্টাইলের সিআরএলএফ দ্বারা প্রতিস্থাপন করা হবে)। গিট আশা করে না যে আপনি উইন্ডোজের নীচে ইউনিক্স-স্টাইলের এলএফ ব্যবহার করবেন।
সতর্কতা " সিআরএলএফ এলএফ দ্বারা প্রতিস্থাপন করা হবে " বলে যে আপনি (থাকার autocrlf= input) কমিট-চেকআউট চক্রের পরে আপনার উইন্ডোজ-স্টাইলের সিআরএলএফ হারাবেন (এটি ইউনিক্স-স্টাইলের এলএফ দ্বারা প্রতিস্থাপন করা হবে)। inputউইন্ডোজ অধীনে ব্যবহার করবেন না ।
কিভাবে autocrlfকাজ করে তা দেখানোর আরেকটি উপায়
1) true: x -> LF -> CRLF
2) input: x -> LF -> LF
3) false: x -> x -> x
যেখানে এক্স হয় সিআরএলএফ (উইন্ডোজ-স্টাইল) বা এলএফ (ইউনিক্স-স্টাইল) এবং তীরগুলি দাঁড়িয়ে আছে
file to commit -> repository -> checked out file
কিভাবে ঠিক করবো
এর জন্য ডিফল্ট মান core.autocrlfগিট ইনস্টল করার সময় নির্বাচন করা হয় এবং সিস্টেম-প্রশস্ত gitconfig ( %ProgramFiles(x86)%\git\etc\gitconfig) এ সঞ্চিত হয় । এছাড়াও রয়েছে (নিম্নলিখিত ক্রমে ক্যাসকেডিং):
- "বিশ্বব্যাপী" (ব্যবহারকারী অনুসারে) এ অবস্থিত gitconfig ~/.gitconfig, এখনও অন্য
- "বিশ্বব্যাপী" (ব্যবহারকারী অনুসারে) এ gitconfig $XDG_CONFIG_HOME/git/configবা $HOME/.config/git/configএবং
"স্থানীয়" (প্রতি রেপো) gitconfig এ - .git/configকাজ দির।
সুতরাং, git config core.autocrlfবর্তমানে ব্যবহৃত মানটি এবং পরীক্ষা করতে ওয়ার্কিং ডায়ারে লিখুন
- autocrlf=falseসিস্টেম-প্রশস্ত gitconfig # প্রতি-সিস্টেমের সমাধানে যুক্ত করুন
- git config --global core.autocrlf false # প্রতি ব্যবহারকারী সমাধান
- git config --local core.autocrlf false # প্রতি-প্রকল্প সমাধান
সতর্কতা
- git configসেটিংস gitattributesসেটিংস দ্বারা ওভাররাইড করা যেতে পারে ।
- crlf -> lfরূপান্তর কেবল তখনই ঘটে যখন নতুন ফাইল যুক্ত হয়, crlfরেপোতে ইতিমধ্যে বিদ্যমান ফাইলগুলি প্রভাবিত হয় না।
নৈতিক (Windows এর জন্য):
- ব্যবহারের core.autocrlf= trueযদি আপনি (আপনার সম্পাদক / আইডিই UNIX লাইন শেষা w শ ব্যবহার করতে কনফিগার করার এবং অনিচ্ছুক) পাশাপাশি ইউনিক্স অধীনে এই প্রকল্পের ব্যবহারের পরিকল্পনা
- ব্যবহারের core.autocrlf= falseআপনি শুধুমাত্র (উইন্ডোজ অধীনে এই প্রকল্পের ব্যবহারের পরিকল্পনা অথবা আপনি ইউনিক্স লাইনের সমাপ্তি ব্যবহার করতে আপনার সম্পাদক / আইডিই কনফিগার করেছেন)
- আপনার কোনও যুক্তিসঙ্গত কারণ না থাকলে কখনও কখনওcore.autocrlf = ব্যবহার করবেন inputনা ( উদাহরণস্বরূপ যদি আপনি উইন্ডোগুলির অধীনে ইউনিক্স ইউটিলিটি ব্যবহার করছেন বা আপনি যদি মেকফাইলে সমস্যাগুলি চালনা করেন),
পিএস উইন্ডোজ জন্য গিট ইনস্টল করার সময় কি চয়ন করবেন?
আপনি যদি ইউনিক্সের অধীনে আপনার কোনও প্রকল্প ব্যবহার না করে থাকেন তবে ডিফল্ট প্রথম বিকল্পের সাথে একমত হন না । তৃতীয়টি চয়ন করুন ( চেকআউট যেমন রয়েছে তেমন প্রতিশ্রুতিবদ্ধ )। আপনি এই বার্তাটি দেখতে পাবেন না। কখনো।
পিপিএস আমার ব্যক্তিগত পছন্দটি ইউনিক্স-স্টাইলের শেষগুলি ব্যবহার করতে সম্পাদক / আইডিই কনফিগার করছে এবং এতে সেট core.autocrlfকরা হচ্ছে false।