git-clean - حذف
فایلهای
ردیابینشده
از درخت
کاری
git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] [<pathspec>...]
درخت کاری
را با حذف
بازگشتی
فایلهایی
که تحت
کنترل نسخه
نیستند، با
شروع از
دایرکتوری
جاری،
پاکسازی
میکند.
بهطور
معمول، فقط
فایلهای
ناشناخته
برای گیت
حذف
میشوند،
اما اگر
گزینه -x
مشخص شده
باشد،
فایلهای
نادیدهگرفتهشده
(ignored) نیز حذف
خواهند شد.
این قابلیت
برای نمونه
میتواند
جهت حذف
تمام
محصولات
بیلد (build products)
مفید باشد.
در صورتی
که هرگونه
آرگومان
اختیاری
<pathspec>... ارائه
شود، تنها
مسیرهایی
که با pathspec
مطابقت
دارند تحت
تأثیر قرار
میگیرند.
-d
بهطور
معمول،
هنگامی که
هیچ <pathspec> مشخص
نشده باشد، git
clean برای
جلوگیری از
حذف بیش از
حد، وارد
دایرکتوریهای
ردیابینشده
نمیشود.
برای ورود
بازگشتی به
چنین
دایرکتوریهایی
نیز گزینه -d
را مشخص
کنید. در
صورتی که یک
<pathspec> مشخص شده
باشد، -d
بیاثر
است؛ تمام
فایلهای
ردیابینشدهای
که با
مسیرهای
مشخصشده
مطابقت
دارند (به
استثنای
مخازن گیت
تودرتو که
ذیل --force ذکر
شدهاند)
حذف خواهند
شد.
-f, --force
اگر
متغیر
پیکربندی
گیت clean.requireForce روی false
تنظیم نشده
باشد، git clean از
حذف
فایلها یا
دایرکتوریها
امتناع
میکند مگر
اینکه -f به آن
داده شود.
گیت همچنین
از دستکاری
مخازن گیت
تودرتوی
ردیابینشده
(دایرکتوریهای
دارای
زیردایرکتوری
.git) خودداری
میکند،
مگر اینکه
یک -f دوم نیز
داده شود.
-i, --interactive
کارهایی
را که انجام
خواهد شد
نشان
میدهد و
فایلها را
بهصورت
تعاملی
پاکسازی
میکند.
برای
جزئیات به
بخش «حالت
تعاملی»
مراجعه
کنید. متغیر
پیکربندی
clean.requireForce نادیده
گرفته
میشود،
زیرا این
حالت با
تعاملی
بودن،
حفاظت
ایمنی مختص
به خود را
فراهم
میآورد.
-n, --dry-run
در واقع
چیزی را حذف
نمیکند،
فقط نشان
میدهد چه
کارهایی
انجام
خواهد شد.
متغیر
پیکربندی
clean.requireForce نادیده
گرفته
میشود،
زیرا در هر
صورت چیزی
حذف نخواهد
شد.
-q, --quiet
بدون
خروجی
اضافی کار
میکند؛
تنها خطاها
را گزارش
میدهد و
فایلهایی
را که با
موفقیت حذف
شدهاند
گزارش
نمیکند.
-e <pattern>, --exclude=<pattern>
از الگوی
استثنای (exclude)
دادهشده
علاوهبر
قوانین
نادیدهگیری
استاندارد
استفاده
میکند
(ببینید:
gitignore(5)).
-x
از
قوانین
نادیدهگیری
استاندارد
استفاده
نمیکند
(ببینید:
gitignore(5))، اما
همچنان از
قوانین
نادیدهگیری
ارائهشده
با
گزینههای
-e از خط
فرمان
استفاده
میکند. این
امکان را
فراهم
میسازد تا
تمام
فایلهای
ردیابینشده،
از جمله
محصولات
بیلد، حذف
شوند. این
کار
میتواند
(احتمالاً
در ترکیب با
git restore یا
git reset)
برای ایجاد
یک
دایرکتوری
کاری
کاملاً
تمیز جهت
آزمایش یک
بیلد تمیز
به کار رود.
-X
تنها
فایلهای
نادیدهگرفتهشده
توسط گیت را
حذف میکند.
این گزینه
میتواند
برای
بازسازی
همهچیز از
ابتدا و در
عین حال نگه
داشتن
فایلهای
ایجادشده
به صورت
دستی، مفید
باشد.
هنگامی که
دستور وارد
حالت
تعاملی
میشود،
فایلها و
دایرکتوریهایی
را که قرار
است
پاکسازی
شوند نمایش
میدهد و
وارد حلقه
دستورات
تعاملی خود
میشود.
حلقه
دستورات
فهرستی از
زیردستورهای
موجود را
نشان داده و
اعلان "What now> "
را ارائه
میدهد.
بهطور
کلی،
هنگامی که
اعلان به یک
علامت >
تکی ختم
میشود،
شما تنها
میتوانید
یکی از
گزینههای
ارائهشده
را انتخاب
کرده و کلید
return (اینتر) را
فشار دهید،
مانند زیر:
*** Commands ***
1: clean 2: filter by pattern 3: select by numbers
4: ask each 5: quit 6: help
What now> 1
همچنین تا
زمانی که
انتخاب شما
یکتا و مشخص
باشد،
میتوانید
از c یا clean در
بالا
استفاده
کنید.
حلقه اصلی
دستورات
دارای ۶
زیردستور
است.
clean
شروع به
پاکسازی
فایلها و
دایرکتوریها
کرده و سپس
خارج
میشود.
filter by pattern
این
زیردستور
فایلها و
دایرکتوریهایی
را که قرار
است حذف
شوند نشان
میدهد و
اعلان "Input ignore
patterns>>" را صادر
میکند.
میتوانید
الگوهایی
را که با
فاصله از هم
جدا
شدهاند
وارد کنید
تا فایلها
و
دایرکتوریها
از حذف شدن
مستثنی
شوند. برای
مثال "*.c *.h"
فایلهایی
را که به ".c" و
".h" ختم
میشوند از
حذف معاف
میکند.
هنگامی که
از نتیجه
فیلتر راضی
شدید، کلید
ENTER را
(بهصورت
خالی) فشار
دهید تا به
منوی اصلی
بازگردید.
select by numbers
این
زیردستور
فایلها و
دایرکتوریهایی
را که قرار
است حذف
شوند نشان
میدهد و
اعلان "Select items to
delete>>" را صادر
میکند.
هنگامی که
اعلان
مانند این
به دو علامت
>> ختم
میشود،
میتوانید
بیش از یک
مورد را
انتخاب
کنید که با
فاصله یا
کاما از هم
جدا
شدهاند.
همچنین
میتوانید
بازهها را
مشخص کنید.
برای مثال "2-5
7,9" برای
انتخاب
موارد ۲، ۳،
۴، ۵، ۷، ۹ از
فهرست به
کار میرود.
اگر عدد دوم
در یک بازه
حذف شود،
تمام موارد
باقیمانده
انتخاب
میشوند.
برای مثال
"7-" برای
انتخاب
موارد ۷، ۸،
۹ از فهرست.
همچنین
میتوانید
از * برای
انتخاب
همهچیز
استفاده
کنید. علاوه
بر این،
وقتی از
نتیجه
فیلتر راضی
شدید، کلید
ENTER را
(بهصورت
خالی) فشار
دهید تا به
منوی اصلی
بازگردید.
ask each
شروع به
پاکسازی
میکند و
برای حذف هر
مورد باید
آن را
تکبهتک
تأیید کنید.
لطفاً توجه
داشته
باشید که
این اقدام
به اندازه
دو اقدام
بالا
کارآمد
نیست.
quit
به شما
امکان
میدهد
بدون انجام
هرگونه
پاکسازی
خارج شوید.
help
راهنمای
استفاده
خلاصه از git-clean
تعاملی را
نشان
میدهد.
تمام
موارد زیر
این خط در
این بخش
بهطور
گزینشی از
مستندات
git-config(1) آورده
شده است.
محتوا همان
چیزی است که
در آنجا
یافت
میشود:
clean.requireForce
یک مقدار
بولی که
باعث
میشود git-clean از
حذف
فایلها
امتناع کند
مگر اینکه -f
داده شود.
پیشفرض true
است.