Git Remove Untracked Files: הסרת קבצים שלא במעקב
עודכן לאחרונה
קבצים שלא במעקב (untracked) הם קבצים ש-Git עדיין לא מנהל: תוצרי build, קובצי לוג, קבצי טיוטה. git clean מוחק אותם מעץ העבודה. מכיוון שהוא מסיר לצמיתות קבצים שמעולם לא נשמרו בקומיט, תמיד הריצו קודם תצוגה מקדימה עם -n (הרצת ניסיון) לפני ההרצה האמיתית עם -f.
נסו את הפקודות האלה בעורך הטרמינל אונליין: shell אמיתי בדפדפן, בלי להתקין כלום.
תחביר
| פקודה | מה היא עושה |
|---|---|
git clean -n | הרצת ניסיון: הצגת מה שיימחק |
git clean -f | מחיקת קבצים שלא במעקב (דגל force חובה) |
git clean -fd | הסרה גם של תיקיות שלא במעקב |
git clean -fx | הסרה גם של קבצים מוחרגים (ignored) |
git clean -fdx | הסרת כל מה שלא במעקב, כולל תיקיות וקבצים מוחרגים |
תהליך בטוח
קודם תצוגה מקדימה ואז מחיקה, כדי ששום דבר לא יימחק בהפתעה.
| שלב | פקודה | תוצאה |
|---|---|---|
| 1 | git clean -nd | רואים כל קובץ ותיקייה שיימחקו |
| 2 | git clean -fd | מוחקים אותם אחרי שאישרתם את הרשימה |
שאלות נפוצות על הסרת קבצים שלא במעקב ב-Git
איך מסירים קבצים שלא במעקב ב-Git?
השתמשו ב-
git clean. קודם הריצו תצוגה מקדימה עם git clean -n כדי לראות מה יימחק, ואז הריצו git clean -f כדי להסיר בפועל את הקבצים שלא במעקב. הדגל -f (force) הוא חובה, כי clean הרסני מעצם הגדרתו.איך מסירים גם תיקיות שלא במעקב?
הוסיפו את הדגל
-d: git clean -fd מסיר קבצים ותיקיות שלא במעקב. git clean -f לבדו מסיר רק קבצים ומשאיר מאחור תיקיות ריקות שלא במעקב.האם git clean מוחק קבצים מוחרגים?
לא כברירת מחדל: קבצים שתואמים ל-
.gitignore נשארים במקומם. הוסיפו -x כדי לכלול אותם (git clean -fx), או -fdx כדי למחוק כל מה שלא במעקב, כולל קבצים ותיקיות מוחרגים. השתמשו ב--x בזהירות, כי הוא עלול למחוק הגדרות מקומיות ומטמוני build שרציתם לשמור.אפשר לבטל git clean?
לא.
git clean מוחק לצמיתות קבצים שמעולם לא נשמרו בקומיט, ולכן אין שום דבר בהיסטוריה של Git שממנו אפשר לשחזר אותם. בדיוק בגלל זה תמיד כדאי להריץ קודם git clean -n ולבדוק את הרשימה לפני המחיקה.אפשר לתרגל את זה אונליין?
כן. פתחו את עורך הטרמינל אונליין כדי להריץ
git clean ב-shell אמיתי בדפדפן, בלי להתקין כלום. גם קורס ה-Git האינטראקטיבי והחינמי של Coddy מלמד ניהול של עץ העבודה צעד אחר צעד.