লাইন-এন্ডিং সেটিংস কীভাবে পরিবর্তন করবেন


580

এমন কোনও ফাইল বা মেনু রয়েছে যা আমাকে কীভাবে লাইন শেষের সাথে মোকাবিলা করতে হবে তার সেটিংস পরিবর্তন করতে দেবে?

আমি 3 টি বিকল্প আছে পড়তে:

  1. উইন্ডোজ-স্টাইল চেকআউট করুন, ইউনিক্স-স্টাইল প্রতিশ্রুতিবদ্ধ

    পাঠ্য ফাইলগুলি পরীক্ষা করার সময় গিট এলএফকে সিআরএলএফ রূপান্তরিত করে। পাঠ্য ফাইলগুলি প্রতিশ্রুতি দেওয়ার সময়, সিআরএলএফ এলএফতে রূপান্তরিত হবে। ক্রস প্ল্যাটফর্ম প্রকল্পগুলির জন্য, এটি উইন্ডোজে প্রস্তাবিত সেটিংস ("কোর.আউটোক্রল্ফ" "সত্য" এ সেট করা আছে)

  2. হিসাবে চেকআউট, ইউনিক্স-স্টাইল প্রতিশ্রুতিবদ্ধ

    পাঠ্য ফাইলগুলি পরীক্ষা করার সময় গিট কোনও রূপান্তর সম্পাদন করবে না। পাঠ্য ফাইলগুলি প্রতিশ্রুতি দেওয়ার সময়, সিআরএলএফ এলএফতে রূপান্তরিত হবে। ক্রস প্ল্যাটফর্ম প্রকল্পগুলির জন্য এটি ইউনিক্সে প্রস্তাবিত সেটিংস ("কোর.আউটোক্রোল্ফ" "ইনপুট" এ সেট করা আছে)।

  3. চেকআউট যেমন রয়েছে তেমন প্রতিশ্রুতিবদ্ধ

    পাঠ্য ফাইলগুলি পরীক্ষা করা বা প্রতিশ্রুতিবদ্ধ করার সময় গিট কোনও রূপান্তর সম্পাদন করবে না will ক্রস প্ল্যাটফর্ম প্রকল্পগুলির জন্য এই বিকল্পটি নির্বাচন করার পরামর্শ দেওয়া হয় না ("কোর.আউটোক্রোল্ফ" "মিথ্যা" হিসাবে সেট করা আছে)



3
এর মধ্যে কোনটি ডিফল্ট?
স্টিফেন

2
এটিকে ডিফল্ট সত্য বলে মনে হয় না, যা আমি উপযুক্ত বলে মনে করি।
স্টিফেন

18
আমি আসলে দেখতে পাই যে 3-ডি বিকল্পটি আরও ভাল কাজ করে। অন্যথায় আমি প্রায়শই এমন পরিস্থিতিতে ছিলাম যখন আমি একই প্ল্যাটফর্মের (উইন্ডোজ / লিনাক্স) ব্যাচ এবং শ স্ক্রিপ্ট উভয়ই সম্পাদনা করি এবং তারপরে তাদের প্রতিশ্রুতিবদ্ধ করি এবং গিট একটি প্ল্যাটফর্মের জন্য স্বয়ংক্রিয়ভাবে "ফিক্স" লাইন সমাপ্তি না ... না, আমি স্ব - লাইন শেষ সম্পর্কে সচেতন এবং ঠিক যেমন তারা তাদের প্রতিশ্রুতিবদ্ধ / চেকআউট করে।
জাস্টামার্টিন

1
@ নিউট্রিনো আমি আশা করি এটি সত্য ছিল, তবে আইডিইর একটি উদাহরণ যা আপনার লাইন শেষের সাথে মিশে যায় (এবং এটি বন্ধ করার জন্য কোনও যুক্তিসঙ্গত বিকল্প প্রস্তাব দেয় না) হ'ল ভিজ্যুয়াল স্টুডিও।
ক্যাসিও রেনান

উত্তর:


526

এটি নিয়ন্ত্রণ করার স্বাভাবিক উপায়টি রয়েছে git config

উদাহরণ স্বরূপ

git config --global core.autocrlf true

বিশদের জন্য প্রো গিটের এই লিঙ্কটিতে "কোর.আউটোক্রল্ফ" নামের বিভাগটিতে স্ক্রোল করুন down


এটি কোন ফাইলটিতে সংরক্ষিত হয়েছে তা যদি আপনি জানতে চান তবে আপনি কমান্ডটি চালাতে পারেন:

git config --global --edit

এবং গিট গ্লোবাল কনফিগারেশন ফাইলটি একটি পাঠ্য সম্পাদকের মধ্যে খোলা উচিত এবং আপনি দেখতে পাচ্ছেন যে ফাইলটি কোথা থেকে লোড করা হয়েছিল।


17
trueবা falseকেবল দুটি বিকল্প রয়েছে, ইনস্টলারটির তিনটি রয়েছে
কিউওয়ারটিমক

49
inputতৃতীয় বিকল্প (আমার সরবরাহিত লিঙ্কটিতে বলা আছে)। 3 টি বিকল্প true| false| input
কোডিং উইথস্পাইকে 18

2
এখানে বিষয় আরেকটি ভাল কাজেই প্রশ্ন আসে সেই stackoverflow.com/questions/3206843/...
CodingWithSpike

31
আসলে, আপনি যদি নিজের প্রশ্নটি পুনরায় পড়েন, অনুলিপি / আটকানো অংশগুলিতে: "1 ... ("core.autocrlf" is set to "true") ... 2 ... ("core.autocrlf" is set to "input") ... 3 ... ("core.autocrlf" is set to "false")"তাই আপনি মূলত নিজের প্রশ্নের নিজের উত্তর দিয়েছেন? :)
কোডিং উইথস্পাইক 18

2
এটি ঘুরে দেখার পুরানো উপায়। .Gitattributes ফাইলটি দেখুন।
eftshift0

176

ওএস-এ ব্যবহৃত লাইন শেষ বিন্যাস

  • উইন্ডোজ: CR(ক্যারিজ রিটার্ন \r) এবং LF(লাইনফিড \n) জুটি
  • ওএসএক্স, লিনাক্স: LF(লাইনফিড \n)

আমরা প্রতিটি ওএসের জন্য দুটি উপায়ে গিট থেকে স্বয়ংক্রিয়-সঠিক লাইন সমাপ্ত ফর্ম্যাটগুলি কনফিগার করতে পারি।

  1. গিট গ্লোবাল কনফিগারেশন
  2. .gitattributesফাইল ব্যবহার করুন

গ্লোবাল কনফিগারেশন

লিনাক্স / ওএসএক্স-এ
git config --global core.autocrlf input

এটি CRLFআপনি LFযখন প্রতিশ্রুতিবদ্ধ তখন ঠিক করবে will

উইন্ডোজে
git config --global core.autocrlf true

এটি উইন্ডোতে চেকআউট করার পরে, সমস্ত LFরূপান্তরিত হবে তা নিশ্চিত করবেCRLF

.gitattributes ফাইল

একটি .gitattributesফাইল রাখা ভাল ধারণা হিসাবে আমরা আমাদের দলের প্রত্যেককে তাদের কনফিগার সেট সেট করতে আশা করি না। এই ফাইলটি রেপোর মূল পথে রাখা উচিত এবং যদি এটির একটি উপস্থিত থাকে তবে গিট এটি সম্মান করবে।

* text=auto

এটি সমস্ত ফাইলকে পাঠ্য ফাইল হিসাবে বিবেচনা করবে এবং চেকআউটে শেষ হওয়া ওএসের লাইনে রূপান্তর করবে এবং LFস্বয়ংক্রিয়ভাবে প্রতিশ্রুতিবদ্ধ হয়ে ফিরে আসবে । যদি স্পষ্ট করে বলতে চাই, তবে ব্যবহার করুন

* text eol=crlf
* text eol=lf

প্রথমটি হ'ল চেকআউট এবং দ্বিতীয়টি প্রতিশ্রুতিবদ্ধ।

*.jpg binary

সমস্ত .jpgইমেজ বাইনারি ফাইল হিসাবে বিবেচনা করুন, নির্বিশেষে পথ। সুতরাং কোন রূপান্তর প্রয়োজন।

অথবা আপনি পাথ যোগ্যতা যুক্ত করতে পারেন:

my_path/**/*.jpg binary

3
ওএস এক্স, যা CRএকা ব্যবহার করে (ক্যারেজ রিটার্ন)?
jw

23
লিগ্যাসি ম্যাকোস (এটি ম্যাকোস 9 এবং এর আগের) CRএকা ব্যবহৃত হয় তবে ওএস এক্স সাধারণত ব্যবহার করে LF
জাচারি ওয়ারে

2
উইন্ডোজটিতে * text eol=lfএটি চেকআউট করার জন্য আমি কি দুবার ব্যবহার করতে পারি LF?
mbomb007

1
গিটাট্রিবিটস অনুযায়ী ডকুমেন্টেশন সেটিংটি গিটকে* text=auto সিদ্ধান্ত নিতে দেয় যে সামগ্রীটি পাঠ্য বা না। সমস্ত ফাইলকে পাঠ্য হিসাবে বাধ্য করা * textকেবলমাত্র হওয়া উচিত ।
অ্যাড্রিয়ান ডাব্লু

আমি eol=crম্যাক ওএস 9 এবং অন্যান্য লিগ্যাসি প্ল্যাটফর্মগুলিতে ফাইলগুলির জন্য কীভাবে সেট করব ?
NobleUplift

36

একটি সংগ্রহস্থল সেটিং সমাধানের জন্য, এটি সমস্ত বিকাশকারীকে পুনরায় বিতরণ করা যায়, .gitattributes ফাইলে পাঠ্য বৈশিষ্ট্যটি পরীক্ষা করে দেখুন । এইভাবে, বিকাশকারীদের ম্যানুয়ালি নিজেরাই রেপোজিটরিতে নিজের লাইনের সমাপ্তি স্থাপন করতে হবে না এবং বিভিন্ন সংগ্রহস্থলগুলিতে বিভিন্ন লাইন সমাপ্তির শৈলী থাকতে পারে বলে গ্লোবাল কোর.আউটোক্রল্ফ সেরা নয়, অন্তত আমার মতে।

উদাহরণস্বরূপ কোনও প্রদত্ত পথে এই বৈশিষ্ট্যটি সেট না করা [ - পাঠ্য] চেক ইন এবং চেক আউট করার সময় গিটকে লাইন এন্ডে না ছুঁতে বাধ্য করবে। আমার মতে, এটি সর্বোত্তম আচরণ, কারণ বেশিরভাগ আধুনিক পাঠ্য সম্পাদকরা উভয় প্রকারের লাইনের সমাপ্তি পরিচালনা করতে পারেন। এছাড়াও, আপনি যদি বিকাশকারী হিসাবে চেক ইন করার পরে লাইন এন্ডিং রূপান্তর করতে চান তবে আপনি এখনও কিছু ফাইলের সাথে মেলে বা আপনার ভাণ্ডারে ইওল বৈশিষ্ট্য (.gitattributes) সেট করতে পারেন।

আরও এই সম্পর্কিত পোস্টটি পরীক্ষা করে দেখুন, যা আরও বিস্তারিতভাবে .gitattributes ফাইল এবং পাঠ্যের বৈশিষ্ট্য বর্ণনা করে: গিটের সাথে সেরা সিআরএলএফ (ক্যারেজ রিটার্ন, লাইন ফিড) হ্যান্ডলিং কৌশল কী?


. - textদেয় is not a valid attribute name: .gitattributes:1দয়া করাcat .gitattributes
jangorecki

3

আমার জন্য কৌতুকটি কমান্ডটি চালাচ্ছিল

git config auto.crlf false

প্রকল্পের ফোল্ডারের ভিতরে, আমি এটি একটি প্রকল্পের জন্য চাই specifically

এই কমান্ডটি লাইনগুলি যুক্ত করে {প্রকল্প_নাম} /। গিট / কনফিগারেশন (fyi .git একটি লুকানো ফোল্ডার) এ ফাইলটি পরিবর্তন করেছে

[auto]
    crlf = false

ফাইলের শেষে। আমি মনে করি ফাইলটি পরিবর্তন করা একই ধরণের কাজ করে।


1

আপনি যদি পিসি ফর্ম্যাট থেকে ইউনিক্স ফর্ম্যাটে পরিবর্তন করা হয়েছে এমন ফাইল ফর্ম্যাটগুলিকে ফিরে যেতে চান to

(1) আপনাকে কচ্ছপ জিআইটি পুনরায় ইনস্টল করতে হবে এবং "লাইন সমাপ্ত রূপান্তর" বিভাগে নিশ্চিত হয়ে নিন যে আপনি "যেমন আছে তেমনি চেক আউট করুন - হিসাবে চেক ইন হিসাবে" বিকল্পটি নির্বাচন করেছেন।

(২) এবং অবশিষ্ট কনফিগারেশনগুলি যেমন আছে তেমন রাখুন।

(3) একবার ইনস্টলেশন সম্পন্ন হয়

(৪) সমস্ত ফাইল এক্সটেনশান লিখুন যা ইউনিক্স ফর্ম্যাটকে একটি পাঠ্য ফাইলে (এক্সটেনশনস.টেক্সট) রূপান্তরিত হয়।

ex:*.dsp
   *.dsw

(5) আপনার ক্লোনটিতে ফাইলটি অনুলিপি করুন GITBASH এ নিম্নলিখিত কমান্ডটি চালান

while read -r a;
do
find . -type f -name "$a" -exec dos2unix {} \;
done<extension.txt
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.