بوابة يفكر أنا إعادة كتابة واحد من الملفات الخاصة بي في كل مرة أقوم بإجراء تغيير طفيف

StackOverflow https://stackoverflow.com/questions/244639

  •  05-07-2019
  •  | 
  •  

سؤال

ولدي ملف حجم جافا المتوسط. في كل مرة أقوم بإجراء تغيير في بلدي واحد من الملفات، BuildTable.java، بوابة التقارير على أنها تغيير هائل، حتى لو كان فقط سطر أو اثنين. BuildTable.java حوالي 200 خطوط والتغيير في هذا الالتزام تغير خط واحد فقط.

وبوابة-فرق ouputs هذا:

--- a/src/BuildTable.java
+++ b/src/BuildTable.java
@@ -1 +1 @@
-import java.io.FileNotFoundException;^Mimport java.io.FileReader;^Mimport java.io.InputStreamReader;^Mimport java.io.PushbackReader;^Mimport java.util.ArrayList;^Mimport
\ No newline at end of file
+import java.io.FileNotFoundException;^Mimport java.io.FileReader;^Mimport java.io.InputStreamReader;^Mimport java.io.PushbackReader;^Mimport java.util.ArrayList;^Mimport
\ No newline at end of file

وبعد القيام بوابة إلزام -a

Created commit fe43985: better error notifications
 3 files changed, 54 insertions(+), 50 deletions(-)
 rewrite src/BuildTable.java (78%)

هل جيت رؤية هذا الملف ك ثنائي أو شيء من هذا؟ هذا هو مشكلة؟ إذا كان كذلك، كيف يمكنني إصلاح هذا؟

هل كانت مفيدة؟

المحلول 2

لإصلاح هذا، لم أكن في حاجة إلى تغيير أي من الإعدادات بوابة الأساسية، حيث أن خط النهايات الافتراضية التي يتم توليدها كانت الغرامة، كان مجرد الذي أخطأ هذا ملف معين. لإصلاحه فتحت همة وتنفيذ الأمر التالي

:%s/^M/\r/g

لاحظ أن اكتب "^ M" لديك لكتابة CTRL-V ومن ثم السيطرة-M.

نصائح أخرى

ومن الواضح أن بوابة لا يحب بك خط النهايات على غرار ماك (CR فقط). يستخدم في خوارزمية فرق LF كفاصل خط.

وإصلاح الملفات أن يكون على غرار ويندوز (CR LF) أو يونيكس (LF فقط) خط النهايات.

وتعيين core.autocrlf وcore.safecrlf مع git-config . وهذا سوف يسبب بوابة لتحويل خط النهايات تلقائيا عند نقل من / إلى مخزن كائن. قد تحتاج إلى جعل الالتزام تخزين النهايات "الجديدة".

وانطلاقا من المثال الخاص بك الذي تم لصقه، قد تكون تعاني أيضا من "الطراز القديم ماك خط النهايات" (بفضل ddaa تشارلز بيلي للحصول على التلميح)، والتي هي فقط CRs العارية دون أي LF، وهي قضية لم يتم التعامل معها من قبل بوابة . إذا كان هذا صحيحا (تحقق مع محرر عرافة)، استخدام أداة مثل recode ل ترجمة هذه القمامة في بعض شكل القرن ال21، مثل نهايات خط يونكس LF فقط المناسبة.

git diff -b

ويتجاهل نهاية السطر يتغير عندما تظهر لك الفروق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top