كيف يتم تلقائيا إزالة كافة .الاصليه الملفات في الزئبقي العمل الشجرة ؟

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

  •  21-08-2019
  •  | 
  •  

سؤال

خلال يدمج الزئبقي الأوراق .الاصليه الملف لأي حل الملف.ولكن بعد يدويا حل المشاكل ورسم الملف الصحيح أنه لا حذف .الاصليه الملف.يمكن إزالة تلقائيا من قبل بعض الأوامر ؟

أنا أعمل على ماك حتى أتمكن من استخدام شيء من هذا القبيل:

find . -iname '*.orig' -exec rm '{}' ';'

الاسم المستعار أو ما شابه, ولكن أنا أفضل أن استخدام شيء مثل الزئبق تنظيف...

تحديث:

منذ بعض الوقت الآن ، تطهير امتداد هو المجمعة مع الزئبقي و يحل هذه المشكلة بشكل جيد.

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

المحلول

وشخصيا، وأنا استخدم

$ rm **/*.orig

وإذا أشعر بالتعب من الملفات .orig. هذا وتعمل في Zsh وباش 4 بعد تشغيل shopt -s globstar.

ولكن اذا كنت تستخدم قذيفة أخرى أو تريد حلا في البناء، ثم ربما عليك مثل في تمديد تطهير (وصلة تحديث 2016/08/25). التي تمكنك من إزالة جميع الملفات غير المتتبعة مع

$ hg purge

ويمكنك إزالة كافة الملفات لا يمكن تقفي أثرها وتجاهل مع

$ hg purge --all

وميزة استخدام hg purge هي التي من شأنها أن هذا أيضا الدلائل تنظيف التي تصبح فارغة بعد إزالة الملفات. سطر الأوامر rm سوف مجرد ترك الدلائل الفارغة وراءها.

نصائح أخرى

وراجع للشغل. فائدة find لها -delete العمل بحيث يمكنك كتابة فقط:

وfind <path-to-files> -name '*.orig' -delete

إذا كنت ترغب فقط في حذف الملفات .orig، وكنت يحدث ليكون على جهاز كمبيوتر ويندوز، ويبدو التالية للعمل بشكل جيد:

D:\workspace>hg purge -I **/*.orig --all

وهذا سيتم حذف جميع الملفات غير المتتبعة التي تنتهي في .orig، ولكن لن حذف <م> أخرى ملفات لا يمكن تقفي أثرها، كما إجابات أخرى من شأنه.

ويمكنك اختبار هذا قبل تشغيله عن طريق وضع العلم --print في كذلك.

وفيما يلي سيزيل .orig الملفات الخاصة بك في كامل التسلسل الهرمي نسخة العمل ويعمل أيضا للمسارات التي تحتوي على فراغات:

find . -name *.orig | while read -d $'\n' file; do rm -v "$file"; done;

ويمكنني استخدام اسم مستعار في بلدي .bash_profile:

alias clearorig='echo "Removing .orig files..."; find . -name *.orig | \
while read -d $'\''\n'\'' file; do rm -v "$file"; done;'

يجب عليك استخدام تحديث هوك

تحديث:هذا هو تشغيل بعد التحديث أو دمج من دليل العمل قد انتهى

كنت قد نشرت هذا الجواب قبل.ولكن هذا هو المكان الصحيح لهذا الجواب.

أنا جعلت هذا الملف الدفعي نفسي.

IF "%1%" == "d" (
    del /s *.orig
    del /s *.rej
 ) ELSE ( 
    del /s /p *.rej
    del /s /p *.orig
 )

مساعدة:حفظ هذا المحتوى الاصليه.الخفافيش

  1. تشغيل orig d حذف جميع ترفض الاصليه الملفات دفعة واحدة دون تأكيد
  2. تشغيل orig حذف الملفات مع تأكيد [آلية السلامة]

نأمل أن يكون هذا مفيدا.

وأنا شخصيا استخدام التالية من جذر الريبو:

hg purge -p -I **/*.orig | xargs rm -f

انها قليلا أفضل من استخدام فقط 'hg تطهير' أو 'hg تطهير --جميع' لأنه يمكنك تصفية محددة أنواع الملفات التي تريد تضمينها.

على كسبلايناتيون:

  • -P الحجة طباعة قائمة الملفات المراد ازالته
  • -I الحجة البيضاء بتصفية الملفات تشمل
  • القائمة الناتجة يتم إيصاله إلى xargs و تنفيذها من خلال rm -f الأوامر

وأنا أعمل في بوويرشيل ولم ير الجواب هنا:

# NOTE: be in the root of your repository
# fetch all .orig files recursively
$orig = (dir *.orig -recurse) ;

# remove each .orig file
foreach ($item in $orig) { del $($item.FullName) ; }

# afterwards I make sure to remove the references to the .orig files in the repo
# then commit & push
hg addremove ; 
hg commit -m "remove .orig" ;
hg push ;

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

ووhg st يمكن أن تظهر <م> غير معروف أو ملفات <م> لا تتبعها. يمكنك استخدام هذا الناتج كحجة لقيادة النظام rm. وهنا مثال الفعلي أديت فقط:

$ # SHOW ONLY THE CRUFT
$ hg status --unknown
? config/settings.rb.orig
? lib/helpers.rb.orig
? routes/main.rb.orig

$ # THE CRUFT WITHOUT THE "?" PREFIX
$ hg status --unknown --no-status
config/settings.rb.orig
lib/helpers.rb.orig
routes/main.rb.orig

$ # SAFELY REMOVE ALL CRUFT
$ rm -- `hg st -un`

إذا كان لديك أدلة فارغة تركت وراءها، و-r و-d الأعلام لrm قد يساعد.

كما <قوية> مكافأة ، أو يمكن أن تستخدم hg status --ignored لتنظيف كل هذه الملفات المؤقتة تجاهل فضلا عن تبادل الملفات من المحرر الخاص بك (على سبيل المثال، فيم).

وأمر أن أستعمل على لينكس لتنظيف، ويوفر الحاجة إلى القيام بعملية بحث جديدة مع البحث.

وهذه الحاجة ليتم تشغيلها من الدليل الجذر للمشروع زئبقي

وhg status | grep ".orig" | cut -d ' ' -f 2- | xargs rm -f

وأو إذا كنت تريد مسح جميع الملفات غير معروفة.

وhg status | cut -d ' ' -f 2- | xargs rm -f

وأنا لا أحب الإجابة المختارة. فإنه لا إزالة كل شيء في جميع مستويات المشروع. أنا استخدم هذا:

for f in `find . | grep .orig$`; do rm "$f"; done

ويعمل على كل من ماك و* لا شىء

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