כל המדריכיםGIT
Git Hygiene·4 min·עברית
פרומפט חילוץ הדיסק
נגמר המקום במחשב ומחיקות לא עוזרות? פרומפט מוכן לקלוד קוד שסורק את המחשב, מוצא ריפו גיט תועה שבולע את הדיסק, ומתקן רק באישור שלך.

מה מקבלים
פרומפט אחד להדבקה בקלוד קוד: דוח מלא על כל ריפו גיט במחשב, זיהוי ריפו תועה, ותיקון בטוח באישור שלך
למי זה מתאים
לכל מי שהדיסק שלו מתמלא "בלי סיבה", ולכל מי שהריץ פעם git init בתיקייה הלא נכונה, או שכלי עשה את זה בשבילו.
1. מה קרה לי
נגמר לי המקום במק. מחקתי סרטים, מחקתי אפליקציות, וכלום לא חזר. ביקשתי מקלוד קוד למצוא מה אוכל את הדיסק, והתשובה הייתה תיקייה נסתרת אחת: ריפו גיט על תיקיית הבית.
- מתישהו רץ לי git init על התיקייה הראשית. מאותו רגע כל קובץ שנשמר במחשב נכנס גם להיסטוריה של גיט.
- וזה החלק המעצבן: גם כשמוחקים קובץ, ההיסטוריה שומרת אותו. בגלל זה מחקתי ומחקתי והדיסק נשאר מלא.
- את זה אי אפשר לראות בפיינדר: תיקיית .git מוסתרת. הדיסק מתמלא ואין שום דבר שמצביע על הסיבה.
2. מה הפרומפט עושה
- סורק את המחשב ומוצא כל ריפו גיט, כולל המוסתרים.
- מודד כמה כל אחד שוקל ומסדר מהגדול לקטן.
- מזהה ריפו תועה: ריפו שנוצר בטעות על תיקייה רחבה ובולע קבצים שלא שייכים לפרויקט אחד.
- מציע תיקון לכל בעיה, ולא מוחק שום דבר בלי אישור מפורש שלך לכל פעולה בנפרד.
- ריפו עם עבודה לא שמורה או קומיטים שלא נדחפו: הוא לא נוגע בו בכלל, רק מדווח.
3. הפרומפט
פותחים טרמינל, מריצים claude, מדביקים את כל הבלוק הזה:
תיבה להעתקה
אני רוצה לבדוק אם גיט תופס לי מקום בדיסק בטעות. תעבוד בשלבים, ואל תמחק שום דבר בלי אישור מפורש שלי לכל פעולה בנפרד.
שלב 1 - איתור:
1. בדוק אם תיקיית הבית שלי נמצאת בתוך ריפו גיט:
git -C ~ rev-parse --show-toplevel
2. מצא תיקיות .git עד עומק 3 מתיקיית הבית, בלי Library, node_modules ו-.Trash:
find ~ -maxdepth 3 -name ".git" -not -path "*/Library/*" -not -path "*/node_modules/*" -not -path "*/.Trash/*"
3. מדוד כל תוצאה עם du -sh וסדר מהגדולה לקטנה.
שלב 2 - אבחון לכל ריפו מעל 500MB, ולכל ריפו שיושב על תיקייה רחבה (הבית, Desktop, Documents, Downloads):
- כמה קבצים הוא עוקב: git ls-files | wc -l
- האם יש לו remote: git remote -v
- האם יש שינויים לא שמורים או קומיטים שלא נדחפו
- מה האובייקטים הכי כבדים בהיסטוריה שלו
שלב 3 - דוח:
הצג טבלה: נתיב, גודל .git, מספר קבצים, remote, אבחנה.
סמן כל ריפו שהוא כנראה "ריפו תועה": ריפו שנוצר בטעות על תיקייה רחבה ובולע קבצים שלא שייכים לפרויקט אחד.
שלב 4 - תיקון, רק אחרי אישור שלי לכל פעולה:
- ריפו תועה בלי remote ובלי היסטוריה חשובה: קודם גיבוי (tar של תיקיית .git בלבד), ואז מחיקת .git בלבד. הקבצים עצמם לא נמחקים.
- ריפו אמיתי שהתנפח: הוסף .gitignore לתיקיות כבדות, הרץ git gc, ואם ההיסטוריה עצמה כבדה, הצע שכפול נקי מה-remote.
- ריפו עם שינויים לא שמורים או קומיטים שלא נדחפו: אל תיגע. תדווח לי ותעצור.
בסוף תן שורה אחת: כמה מקום השתחרר, ומה לבדוק שוב בעוד חודש.4. מה תקבלו בחזרה
- טבלה של כל ריפו במחשב עם הגודל האמיתי של תיקיית .git שלו, וסימון של ריפו תועה אם יש.
- הצעות תיקון אחת אחת. שום דבר לא נמחק אוטומטית.
- לפני מחיקת ריפו תועה נשמר גיבוי tar, ורק תיקיית .git נמחקת. הקבצים שלכם נשארים במקום.
5. איך לא ליפול בזה שוב
- לפני git init, בדקו איפה אתם: pwd. הפקודה חלה על התיקייה הנוכחית, לא על התיקייה שחשבתם.
- רוצים גיט על תיקיית הבית בכוונה, למשל לקבצי הגדרות? עבדו עם .gitignore ששולל הכל ומוסיף רק מה שצריך.
- פעם בחודש: תריצו את הפרומפט שוב. שתי דקות, ואין הפתעות.
איך להשתמש בזה עכשיו
הדיסק לא אמור להתמלא בשקט. פרומפט אחד בקלוד קוד נותן לכם דוח מלא, ותיקון שקורה רק באישור שלכם.