مجموعة - git ls-files: كيف تحدد الملفات الجديدة(المضافة ، غير الملتزم بها)؟



طريقة تحديد ملفات متفرقة (2)

تريد استخدام git diff --cached . باستخدام --name-only ، سيتم سرد جميع الملفات التي قمت بتغييرها في الفهرس نسبة إلى HEAD. باستخدام --name-status يمكنك الحصول على رمز الحالة أيضًا ، مع --diff-filter يمكنك تحديد أي مجموعة من الملفات التي تريد عرضها ('A' للملفات المضافة حديثًا ، على سبيل المثال). استخدم -M لتشغيل كشف الحركة و -C لكشف النسخ إذا كنت تريدهم.

للحصول على أدق قراءة لما كتبته ، git diff --cached --name-only --diff-filter=A سوف يسرد جميع الملفات التي أضفتها منذ HEAD والتي لا توجد في HEAD.

https://src-bin.com

بعد أن اتصلت بـ git add <file> ستظهر لك git status command:

...
new file:    <file>

بطريقة ما لا أستطيع إدارتها للحصول على نفس المعلومات باستخدام ls-files ls-files -tc ستظهر لي ( ls-files -tc في هذه الحالة):

H <commited file>
H <other commited file>
H <file>

لا يبدو أن هناك تبديل سطر الأوامر موجود للملفات الجديدة. تم الإبلاغ عن تخزين الملف مؤقتًا ، لا بأس به ، لكن كيف أعرف أنه غير ملتزم في هذا الوقت؟

هل هذا ممكن مع ls-files أو أمر مشابه (حيث لا يتعين علي تحليل الكثير من المخرجات كما هو الحال في حالة git status


Answer #1

التوضيح: هذه طريقة لإظهار الملفات التي أنوي إضافتها. هذا ليس ما تبحث عنه OP ، لكنني سأترك هذا المنشور في حال كان مفيدًا للآخرين.

يبدو أن هذا يظهر فقط الملفات التي أضفتها [إلى نسختي العاملة ، وليس الفهرس] ولكن لا تتطابق مع أنماط التجاهل القياسية:

 $ git ls-files --others --exclude-standard

بدون - --exclude-standard ، فإنه يُظهر أيضًا الملفات التي يتم تجاهلها عند تشغيل git status .





git