جاوااسکریپت | JavaScript
Фотография
нажмите — покажем
нажмите — покажем
مثلاً gitignore. که دیگر کاملاً مشخص است. اما gitattributes. چطور؟
این فایل کمک میکند مشخص کنیم با فایلهای مختلف چه رفتاری داشته باشیم. مثلاً استراتژی ادغام: به Git میگوید اگر هنگام merge تعارضی در package-lock.json ایجاد شد، نسخهٔ شاخهٔ فعلی (ours) را نگه دار
package-lock.json merge=ours
و تمام؛ مسئله به شکل موردنظر حل میشود. یا فرض کنید دارید برای چند پلتفرم مختلف توسعه میدهید:
*.sh text eol=lf
*.bat text eol=crlf
اهمیت خطوط بالا برای خود Git این است که Git باید بتواند تشخیص دهد تغییرات یک فایل واقعاً تغییر محتوایی بوده یا فقط بهخاطر تفاوت سیستمعامل، پایان خطها عوض شده است.
مثلاً فرض کن روی ویندوز فایل اینطور باشد:
line 1\r\n
line 2\r\n
line 3\r\n
و روی Linux همان فایل:
line 1\n
line 2\n
line 3\n
از دید انسان، هیچ تفاوت محتوایی وجود ندارد؛ اما اگر Git این موضوع را درست مدیریت نکند، ممکن است تغییر پایان خطها را به شکل یک تغییر بزرگ ببیند.
#️⃣#tool
👥@IR_javascript_group
🆔@IR_javascript
6 · 231 ·