سؤال

أريد فك حذف جميع الملفات. هل هناك طريقة سهلة؟

أريد تطبيق هذا على نمط الملف لجميع الحذف.

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

المحلول

إخراج git status --porcelain هي وسيلة رائعة لبناء خطوط وبرامج نصية لمهام مثل هذه:

git status --porcelain | awk '$1 == "D" {print $2}' | xargs git reset HEAD

نصائح أخرى

في حالة عودة أسماء الملفات/المسار الخاص بك git status يحتويspace الأحرف ، الدعوة إلى awk يمكن تعديلها لتشمل المسار/اسم الملف بأكمله (مقتبس) بما في ذلك المساحات:

git status --porcelain|awk '$1 == "D" {print substr($0, index($0,$2))}'|xargs git reset HEAD

فقط في حالة قيام أي شخص آخر باستخدام Git مع PowerShell ، إليك نسخة PowerShell من إجابة @Jefromi الممتازة:

git status --porcelain | where { $_.StartsWith(" D") } | foreach-object { git reset HEAD $_.replace(" D ", "") }

راجع قسم "إلغاء تبريد ملف مرحى" في هذا الكتاب.

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