উত্তর:
ডক্স থেকে :
.gitattributes(বা.git/info/attributes) ফাইলের প্রতিটি লাইন ফর্মের:pattern attr1 attr2 ...
তাই এখানে, প্যাটার্ন হয় *যা সব ফাইল মানে, এবং অ্যাট্রিবিউট text=auto।
কি করে text=auto? ডকুমেন্টেশন থেকে:
পাঠ্যটি যখন "অটো" তে সেট করা থাকে, তখন পথটি স্বয়ংক্রিয়ভাবে শেষের-লাইনটি স্বাভাবিকের জন্য চিহ্নিত করা হয়। যদি গিট সিদ্ধান্ত নেয় যে সামগ্রীটি পাঠ্য, তবে এর লাইন শেষটি চেকিনে এলএফকে স্বাভাবিক করা হয়।
এটি সক্ষম না হলে ডিফল্ট আচরণটি কী?
অসূচিত
যদি পাঠ্য বৈশিষ্ট্যটি অনির্ধারিত থাকে, ফাইলটি রূপান্তর করা উচিত কিনা তা নির্ধারণ করতে গিটটি কোর.আউটোক্রলফ কনফিগারেশন ভেরিয়েবল ব্যবহার করে।
কি করে core.autocrlf? ডক্স থেকে:
core.autocrlfএই ভেরিয়েবলটিকে "সত্য" এ সেট করা প্রায় একইরূপে সমস্ত ফাইলগুলিতে "অটো" তে পাঠ্য বৈশিষ্ট্য নির্ধারণের মতো যে পাঠ্য ফাইলগুলিকে সাধারণকরণের গ্যারান্টি দেওয়া হয় না: সংগ্রহস্থলে সিআরএলএফ থাকা ফাইলগুলিকে স্পর্শ করা হবে না। আপনার কাজের ডিরেক্টরিতে সিআরএলএফ লাইন শেষ হতে চাইলে এই সেটিংটি ব্যবহার করুন যদিও সংগ্রহস্থলের সাধারণ লাইনের শেষ নেই। এই পরিবর্তনশীলটি ইনপুটতে সেট করা যেতে পারে, এক্ষেত্রে কোনও আউটপুট রূপান্তর সম্পাদিত হয় না।
আপনি যদি এটিকে কাদা হিসাবে পরিষ্কার মনে করেন তবে আপনি একা নন।
এখানে * text=autoআমার কথায় যা করা হয় তা : যখন কেউ কোনও ফাইলের প্রতিশ্রুতি দেয়, তখন গিট অনুমান করে যে সেই ফাইলটি কোনও পাঠ্য ফাইল কিনা তা এবং যদি তা হয় তবে এটি ফাইলের এমন একটি সংস্করণ প্রতিপন্ন করবে যেখানে সমস্ত সিআর + এলএফ বাইটগুলি এলএফ বাইট দ্বারা প্রতিস্থাপন করা হবে। এটি কার্যক্ষম গাছের মধ্যে ফাইলগুলির মতো দেখতে সরাসরি প্রভাবিত করে না, এমন অন্যান্য সেটিংস রয়েছে যা কোনও ফাইল পরীক্ষা করার সময় এলএফ বাইটকে সিআর + এলএফ বাইটে রূপান্তরিত করে।
আমি চাই না নির্বাণ সুপারিশ * text=autoমধ্যে .gitattributesফাইল। পরিবর্তে, আমি এই জাতীয় কিছু সুপারিশ করব:
*.txt text
*.html text
*.css text
*.js text
এটি স্পষ্টভাবে নির্দিষ্ট করে দেয় কোন ফাইলগুলি পাঠ্য ফাইল, যা সিআরএলএফকে অবজেক্ট ডাটাবেসে এলএফতে রূপান্তরিত করে (তবে প্রয়োজনীয় গাছের মধ্যে নয়)। আমাদের সাথে একটি রেপো ছিল * text=auto, এবং গিট কোনও চিত্র ফাইলের জন্য ভুল অনুমান করেছিল যে এটি একটি পাঠ্য ফাইল, এটি এটি দুর্নীতিগ্রস্থ করেছিল কারণ এটি সিআর + এলএফ বাইটকে বস্তুর ডাটাবেসে এলএফ বাইটের সাথে প্রতিস্থাপন করেছে। এটি ডিবাগ করা মজা ছিল না।
যদি আপনার অবশ্যই ব্যবহার * text=autoকরা হয় তবে এটিকে প্রথম লাইন হিসাবে রাখুন .gitattributes, যাতে পরবর্তী লাইনগুলি এটিকে ওভাররাইড করতে পারে। এটি একটি ক্রমবর্ধমান জনপ্রিয় অনুশীলন হয়ে উঠছে বলে মনে হচ্ছে।
everyoneউল্লেখ করে তবে git-scmএটি সম্ভবত এটি একটি * নিক্স প্যাকেজ বিকাশ করছে এবং এইভাবে * নিক্স নিউলাইন চরিত্রটি ব্যবহার করা স্বাভাবিক ।
git-scm* নিক্স থেকে আসা মত জনপ্রিয় দেব সরঞ্জাম । ম্যাকোস এলএফ ব্যবহার করে। কেবল উইন্ডোজ (কেবলমাত্র মূল-স্ট্রিম ওএস বিবেচনা করে) সিআরএলএফ ব্যবহার করছে। এটি ডিভাইসগুলিকে উইন্ডোজ * নিক্স সরঞ্জামগুলি ব্যবহার করে এবং ফাইল বিনিময় করার সময় প্রত্যেকের জন্য আরও শক্ত করে তোলে। কেন দেখুন সিআরএলএফ ।
*.txt text=autoএবং *.txt textদয়া করে? আমি ভেবেছিলাম উপরের উদাহরণে সমস্ত 4 টি লাইন হওয়া উচিত ছিল text=auto, কেবল textফাইল এক্সটেনশনের পরে নয় । উদাহরণস্বরূপ (".kicad_mod" এক্সটেনশান) কিক্যাড পাদদেশের ফাইলগুলি তাদের গিটটিট্রিবিউট ফাইলগুলিতে এই লাইনটি ব্যবহার করে স্বাভাবিক করা হয়: *.kicad_mod text=auto( কিক্যাড- pcb.org/libraries/klc/G1.7 )
এটি লাইন সমাপ্তিগুলি স্বাভাবিক করা নিশ্চিত করে। সূত্র: কার্নেল.অর্গ
পাঠ্যটি যখন "অটো" তে সেট করা থাকে, তখন পথটি স্বয়ংক্রিয়ভাবে শেষের-লাইনটি স্বাভাবিকের জন্য চিহ্নিত করা হয়। যদি গিট স্থির করে দেয় যে সামগ্রীটি পাঠ্য, তবে এর লাইন শেষটি চেকিনে এলএফ-তে স্বাভাবিক করা হয়।
আপনি যদি এমন একটি সোর্স কোড ম্যানেজমেন্ট সিস্টেমের সাথে আন্তঃআকঙ্কিত করতে চান যা লাইনটি শেষের নরমালাইজেশনকে প্রযোজ্য করে, বা আপনি সহজেই আপনার সংগ্রহস্থলের সমস্ত পাঠ্য ফাইলগুলিকে সাধারণীকরণ করতে চান তবে পরিবর্তে সমস্ত ফাইলের জন্য পাঠ্য বৈশিষ্ট্যটি "অটো" তে সেট করা উচিত।
এটি নিশ্চিত করে যে গিটটি পাঠ্য হিসাবে বিবেচিত সমস্ত ফাইলের সংগ্রহস্থলটিতে স্বাভাবিককরণ (এলএফ) লাইন শেষ হবে।
When a text file is normalized, its line endings are converted to LF in the repository.
LFউইন্ডোতেও লাইনের সমাপ্তি যেমন বলা যায় ঠিক হবে?
এই কনফিগারেশনটি কীভাবে লাইন শেষগুলি পরিচালনা করা হয় সে সম্পর্কে। সক্ষম করা থাকলে, সমস্ত লাইন শেষগুলি সংগ্রহস্থলের এলএফ-তে রূপান্তরিত হয়। আপনার কার্যনির্বাহী ডিরেক্টরিতে লাইনের সমাপ্তি কীভাবে রূপান্তরিত হয় তা মোকাবেলা করার জন্য অন্যান্য পতাকা রয়েছে। আমাদের এখানে ইস্যুটির সম্পূর্ণ তথ্য: https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html