it-swarm.asia

بوابة ويندوز "تحذير: LF سيتم استبداله بـ CRLF "، هل ذيل الإنذار هذا متخلف؟

الحياة الفطرية:

  • ويندوز 7
  • msysgit

عندما كنت git commit ، تقول:

warning: LF will be replaced by CRLF. 

هل هذا التحذير ذيل إلى الوراء؟
أقوم بتحرير الملف في Windows ، نهاية السطر CRLF ، تمامًا مثل هذه الصورة:
enter image description here
ويغيرها git إلى LF بسبب الالتزام بإعادة الشراء.
لذلك أعتقد أن التحذير الصحيح هو:

warning: CRLF will be replaced by LF. 
117
Honghe.Wu

نعمالتحذير هو الوراء.

وفي الحقيقة لا ينبغي أن يكون ذلك تحذيرًا في المقام الأول. لأن كل هذا التحذير يقول (لكن للخلف للأسف) هو أنه سيتم استبدال أحرف CRLF الموجودة في الملف مع نهايات خطوط Windows بحرف LF عند الالتزام. مما يعني أنه تم تطبيعه مع نفس نهايات الخطوط التي تستخدمها * nix و MacOS.

لا شيء غريب يحدث ، هذا هو بالضبط السلوك الذي تريده عادة.

هذا التحذير في شكله الحالي هو أحد أمرين:

  1. خطأ مؤسف مقترن برسالة تحذير مفرطة في الحذر ، أو
  2. مؤامرة ذكية جدا تجعلك حقا / أعتقد هذا من خلال ...

؛)

19
Stijn de Witt

لا. إنه صحيح ودقيق. لا يتحدث عن ملفاتك حاليًا مع CRLF. إنها تتحدث بدلاً من ذلك عن الملفات مع LF.

يجب قراءة:

تحذير: ( في حالة التحقق من ذلك/أو استنساخه إلى مجلد آخر بتكوين core.autocrlf الحالي ،) سيتم استبدال LF بـ CRLF

سيكون للملف نهايات السطر الأصلية في دليل العمل ( الحالي ).

هذه الصورة يجب أن توضح ما يعنيه.  enter image description here 

14
Xiao Peng - ZenUML.com

كل هذا يفترض core.autocrlf=true

خطأ أصلي:

تحذير: LF سيتم استبدالها بـ CRLF
سيكون للملف نهايات السطر الأصلي في دليل العمل الخاص بك.

ما الخطأ يجب قراءة:

تحذير: LF سيتم استبدالها بـ CRLF في دليل العمل الخاص بك
سيكون للملف الأصل LF نهايات السطر في مستودع git

الشرح هنا :

يتمثل التأثير الجانبي لهذا التحويل المريح ، وهذا هو التحذير الذي تراه ، في أنه إذا كان الملف النصي الذي كتبته أصلاً له LF نهايات بدلاً من CRLF ، فسيتم تخزينه بـLF كالمعتاد ، ولكن عند السحب لاحقًا ، ستكون نهايات CRLF. بالنسبة للملفات النصية العادية ، عادة ما يكون ذلك جيدًا. التحذير هو "لمعلوماتك" في هذه الحالة ، ولكن في حالة قيام git بتقييم الملف الثنائي بشكل غير صحيح على أنه ملف نصي ، فهذا تحذير مهم لأن git ستفسد ملفك الثنائي.

بشكل أساسي ، سيكون الملف المحلي الذي كان سابقًا LF الآن CRLF محليًا

9
mikew

git config --global core.autocrlf false يعمل بشكل جيد مع الإعدادات العامة.

ولكن إذا كنت تستخدم Visual Studio ، فقد تحتاج أيضًا إلى تعديل .gitattributes لبعض أنواع المشاريع ( على سبيل المثال ، تطبيق مكتبة الفئة class ):

  • إزالة الخط * text=auto
2
Eric Wang

بعد أن قمت بتعيين core.autocrlf=true ، كنت أتلقى "سيتم استبدال LF بـ CRLF" (لاحظ أنه "سيتم استبدال CRLF بـ LF") عندما كنت git adding (أو ربما كانت موجودة في git commit؟) ملفات تم تحريرها في نوافذ على مستودع تخزين (هذا يستخدم LF) الذي تم سحبه قبل قمت بتعيين core.autocrlf=true.

لقد قمت بإجراء فحص جديد باستخدام core.autocrlf=true والآن لا أتلقى هذه الرسائل.

1
Marsette Vona

افعل شيئًا بسيطًا: 1. افتح git-hub (Shell) وانتقل إلى ملف الدليل الذي ينتمي إلى (cd/a/b/c/...) 2. قم بتنفيذ dos2unix (وقت ما dos2unix.exe) 3. حاول الالتزام الآن . إذا حصلت على نفس الخطأ مرة أخرى. قم بتنفيذ جميع الخطوات المذكورة أعلاه باستثناء بدلاً من dos2unix ، قم بإجراء unix2dox (unix2dos.exe في وقت ما)

0
Antriksh Jain