سؤال

لقد قمت بإنشاء ملف .gitignore في المجلد مع مجلد .git ، لكنني ما زلت أحصل على الملفات التي أحاول تجاهلها عند القيام بمستودع المستودع.

هذا هو محتوى الملف.

# Ignored files
*.suo 
*.user 
bin 
obj 
*.pdb 
*.cache 
*_svn 
*.svn 
*.suo 
*.user 
*.build-res 
TestResults 
_ReSharper*

ما الخطأ الذي افعله؟ أين يفترض أن يكون الملف موجودًا؟

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

المحلول

تحتاج إلى التأكد من أن الملف الذي لا تزال مشاهدته غير ملتزم أو يتم تنظيمه حاليًا.

إذا قمت بإزالتها (git rm أو git rm --cached) ، ثم أضفها كملف خاص ، ثم سيتم تجاهلها.

نصائح أخرى

ملفك يبدو جيدا. فقط تأكد من عدم وجود أي نوع من المساحة البيضاء في بداية كل سطر ، استغرق الأمر مني 4 ساعات لأجد سبب عدم عمل .gitignore بشكل صحيح ؛ كان السبب هو بالطبع مشكلة في الصغار حيث كان لدي خط رأسي من المساحات في بداية الملف.

يجب أن تكون حذرا مع git commit -a قبل التأكد من أن ملف .gitignore الخاص بك ينظف حقًا كل ما لا تريده. إما وضع علامة على كل ملف (أو استخدام أحرف البدل) مع git add *.cpp *.h أو - كما أفضل - تطوير .gitignore أثناء تقدمك ، وتتحقق دائمًا من git status قبل الارتباط.

إذا كنت ترغب في التحقق من أن .gitignore يعمل حقًا ، محاولة

git ls-files --others -i --exclude-standard

يجب أن يسرد هذا جميع الملفات التي تتجاهلها حاليًا.

لتنظيف الملفات التي أضفتها بالفعل (ربما تستخدم git add ., ، خطأ نرتكبه جميعًا في البداية =]) يمكنك القيام به مثل Vonc قال: إما الجري

git rm <filename>

أو

git rm --cached <filename>

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

git --rm cached .

لكن تذكر عدم الركض git add . حتى تتأكد من أن حالة Git تسرد فقط الملفات التي تريدها حقًا في المستودع.

شيء آخر مفيد للغاية مع GIT هو أنه لا يحتاج إلى مسارات للملفات عند استخدام الأبطال البرية. إذا قمت بإدراج ملفاتك التي تم تجاهلها وترى أنك تريد إزالة الكل *.suo و *.log الملفات ، فقط تشغيل

git rm --cached *.suo *.log

و Git يعتني بإيجاد جميع الملفات في مستودعك الذي يتطابق مع هذا التوقيع ، بغض النظر عن مكان وجودهم في الشجرة.

لقد جربت طرقًا متعددة للحصول على هذا العمل وكان الأمر بسيطًا جدًا:

يجب عليك ارتكاب .gitignore أولاً!

أيضًا ، إذا كنت تستخدم أداة التزام TortoiseGit - Gitex ، فهناك خيار لتحرير الملفات التي تم تجاهلها.

أنت تحدد موقعه بشكل صحيح. يجب أن يكون Gitignore في نفس المجلد ، حيث يقع مجلد .git. الملف بداخله يبدو صحيحا أيضا. ومع ذلك ، ليس لدي خط تعليق في الأعلى ..

عندما أنظر إلى هذا ، أعتقد أنك نسيت ارتكاب ملف التجاهل الخاص بك.

لم يعمل أي من الحلول المخبأة في RM بالنسبة لي. يجب تشفير الملف على أنه ASCII/ANSI. لقد غيرت نهايات الخط أيضًا ، لكن هذا وحده لم يصلحها. لا يمكنني العثور على عنوان URL الذي حصل على هذه التعليمات (آسف ، الملصق الأصلي!) ولكن هذا عمل بالنسبة لي:

  1. قم بتثبيت Notepad ++ إذا لم يكن لديك بالفعل. يجب أن يعمل TextPad أيضًا ، لكنني أستخدم Notepad ++.
  2. افتح .gitignore مع Notepad ++.
  3. انقر على عرض | عرض رمز | إظهار جميع الشخصيات. من المحتمل أن ترى CR LF في نهاية كل سطر.
  4. قم بالبحث والاستبدال (CTRL+H) ، مع التأكد من فحص تمديد (LOWER LET HAND CORNER). ابحث عن r n واستبداله بـ n. سترى كل تغيير CR LF إلى LF فقط.
  5. الآن انقر على الترميز | تشفير في ANSI.
  6. احفظ الملف واخرج.

من موجه الأوامر في Windows أو موجه أوامر GIT ، أيهما تريد ، عندما تفعل حالة git يجب ألا تعرض الملفات في .gitignore.

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