লাইন শেষের সাথে ডিল করার জন্য আমার পদ্ধতিটি নীচে রয়েছে (অনেকগুলি রেপোর উপরে যুদ্ধ পরীক্ষা করা হয়েছে):
একটি নতুন রেপো তৈরি করার সময়:
- করা
.gitattributesখুব প্রথম হিসাবে অন্যান্য টিপিক্যাল ফাইলগুলি অন্তর্ভুক্ত থাকে কমিট .gitignoreএবংREADME.md
বিদ্যমান রেপোগুলির সাথে কাজ করার সময়:
.gitattributesসেই অনুযায়ী তৈরি করুন / পরিবর্তন করুন
git commit -a -m "Modified gitattributes"
git rm --cached -r . && git reset --hard && git commit -a -m 'Normalize CRLF' -n"
-n( --no-verifyপ্রাক-প্রতিশ্রুতি হুক এড়িয়ে যাওয়া হয়)
- আমাকে প্রায়শই পর্যাপ্ত পরিমাণে করতে হয় যে আমি এটির নাম হিসাবে সংজ্ঞা দিয়েছি
alias fixCRLF="..."
- পূর্ববর্তী কমান্ডটি পুনরাবৃত্তি করুন
- হ্যাঁ, এটি ভুডু, তবে সাধারণত আমাকে কমান্ডটি দু'বার চালাতে হবে, প্রথমবার এটি কিছু ফাইল স্বাভাবিক করে তোলে, দ্বিতীয়বারের চেয়েও বেশি ফাইল। কোনও নতুন প্রতিশ্রুতি তৈরি না হওয়া পর্যন্ত সাধারণত এটি পুনরাবৃত্তি করা সবচেয়ে ভাল :)
- পুরানো (সাধারণীকরণের ঠিক আগে) এবং নতুন শাখার মধ্যে কয়েকবার পিছনে পিছনে যান। ব্রাঞ্চটি স্যুইচ করার পরে, কখনও কখনও গিট আরও বেশি ফাইল খুঁজে পায় যা পুনর্নবীকরণ করা দরকার!
ইন .gitattributesআমি সব পাঠ্য ফাইল স্পষ্টভাবে ঘোষণা এলএফ EOL তার হিসাবে যেহেতু সাধারণত উইন্ডোজ সাধনী দ্বারা প্রয়োগকরণ যখন অ উইন্ডোজ সাধনী দ্বারা প্রয়োগকরণ CRLF সাথে সামঞ্জস্যপূর্ণ নয় এলএফ সঙ্গে সামঞ্জস্যপূর্ণ (এমনকি অনেক nodejs আদেশ এলএফ লাইন টুলস অনুমান তাই আপনার ফাইল মধ্যে EOL পরিবর্তন করতে পারেন)।
বিষয়বস্তু .gitattributes
আমার .gitattributesসাধারণত দেখতে:
*.html eol=lf
*.js eol=lf
*.json eol=lf
*.less eol=lf
*.md eol=lf
*.svg eol=lf
*.xml eol=lf
বর্তমান রেপোতে গিট দ্বারা কোন স্বতন্ত্র এক্সটেনশনগুলি ট্র্যাক করা হয়েছে তা নির্ধারণ করতে, এখানে দেখুন
সাধারণীকরণের পরে সমস্যাগুলি
একবার এটি হয়ে গেলে, তবে আরও একটি সাধারণ সতর্কতা রয়েছে।
আপনার masterইতিমধ্যে আপ-টু-ডেট এবং সাধারণীকরণ করুন এবং তারপরে আপনি চেকআউট করুন outdated-branch। বেশিরভাগ সময় সেই শাখাটি পরীক্ষা করে দেখার পরে, গিট অনেকগুলি ফাইলকে পরিবর্তিত হিসাবে চিহ্নিত করে।
সমাধানটি হ'ল জাল কমিট ( git add -A . && git commit -m 'fake commit') করা এবং তারপরে git rebase master। প্রত্যাবাসনের পরে, জাল কমিটটি চলে যাওয়া উচিত।