בעת עבודה על מאגר Git, זה נפוץ לצבור קבצים ותיקיות שאינם מנוטרים ואינם חלק ממערכת בקרת הגרסאות של המאגר. אלה יכולים לכלול קבצים זמניים, מוצרי בנייה או קבצים אחרים שנוצרו באופן מקומי ואינם מחויבים. עם הזמן, קבצים אלה יכולים לצבור זבל בתיקיית העבודה, מה שמקשה על שמירה על סביבת עבודה נקייה ומאורגנת.
על מנת להתמודד עם בעיה זו, Git מספק את הפקודה git clean
, שמסירה קבצים ותיקיות שאינם מנוטרים. במדריך זה, אראה לך כיצד להשתמש בgit clean
בצורה בטוחה, את האפשרויות השונות שלה, ואת הפרקטיקות הטובות ביותר כדי להימנע ממחיקת קבצים בלתי מכוונת תוך שמירה על מאגר ה-Git שלך מסודר. להמשך הלמידה, אני ממליץ לקחת את הקורסים שלנו יסודות ה-Git ומבוא למושגי GitHub כדי ללמוד על בקרת גרסאות וההבדל בין Git ל-GitHub.
הבנת git clean
הפקודה git clean
היא כלי שימושי ב-Git שמסירה קבצים שאינם במעקב ממדריך העבודה. הפקודה git clean
שימושית כאשר אתה צריך לאפס את מדריך העבודה שלך למצב נקי, כמו לפני שמחליפים ענפים או לאחר הרצת תהליכי בנייה המייצרים קבצים זמניים. עם זאת, יש להשתמש בפקודה git clean
בזהירות מכיוון שהיא מוחקת לצמיתות קבצים ודירקטוריות שאינם במעקב מבלי להעביר אותם לפח או למיכל מחזור.
בניגוד לgit reset
או git checkout
, אשר משנים קבצים במעקב, git clean
מתעסקת באופן מוחלט עם קבצים ודירקטוריות שאינם תחת בקרת גרסאות. זה כולל:
-
קבצים זמניים שנוצרו על ידי תהליכי בנייה
-
קבצי יומן או נתוני מטמון
-
קבצים המפורטים ב.gitignore (אם צוין במפורש עם
-x
)
הפקודה git clean
שימושית לשמירה על סדר בתיקיית העבודה, משלימה פקודות אחרות ב-Git כמו git reset
ו־git checkout
, שמנהלות שינויים בקבצים מעוקבים.
אני מוצא את גליון העבודות המלא של Git מדריך התייחסות שימושי לפקודות Git נפוצות.
שימושים נפוצים ל־git clean
הפקודה git clean
היא כלי שימושי לשמירה על תיקיית עבודה נקייה. להלן מקרים שימושיים נפוצים בהם git clean
יכולה להסיר בצורה בטוחה קבצים ותיקיות לא נחוצים.
הסרת קבצים לא מעוקבים
כאשר עובדים במאגר Git, קבצים לא מעוקבים יכולים להתצפנן עם הזמן. האפשרויות הבאות עוזרות בהסרתם:
-
git clean -f
: מכפיל את ההסרת קבצים לא מעוקבים. -
git clean -fd
: מסיר קבצים לא מעוקבים ותיקיות לא מעוקבות. -
git clean -fx
: מסיר קבצים לא מעוקבים וקבצים מושהים כמו אלה שמופיעים ב־.gitignore
.
אך עליך להיות זהיר בשימוש באפשרות -fx
מכיוון שהיא מסירה גם קבצים שנתעלמו. תמיד יש לוודא באמצעות הרצת dry run (git clean -n
) לפני ביצוע הפקודה.
מצב אינטראקטיבי
הפקודה git clean -i
מאפשרת מצב אינטראקטיבי, מאפשרת למשתמשים להסיר באופן בררני קבצים שלא נמצאים במעקב. מצב זה שימושי כאשר ברצונך לקבל יותר שליטה על הקבצים או התיקיות שנמחקים.
נניח שאתה עובד על פרויקט שבו כבר שמרת את השינויים בתיקיית Olympics
. אך, הוספת קבצי מקור חדשים בשמות 2024_Data,
ו- 2025_Data
. אם תריץ את הפקודה git clean -i
, תקבל את הערכת המשמעות הבאה המאפשרת לך לבחור מהאפשרויות הבאות למחיקת השינויים שאינם במעקב.
-
clean
: הסרת קבצים נבחרים -
filter
: ציון תבנית לקבצים לניקוי -
select
: בחירת קבצים בודדים לפי מספר -
quit
: יציאה בלי למחוק דברים
git clean -i במצב אינטראקטיבי. תמונה מאת המחבר.
הפעלה יבשה לצורך בטיחות
שימוש ב־git clean -n
הוא מידת בטיחות שימושית מאחר שהוא מבצע "הפעלה יבשה," ומציג רשימת קבצים ותיקיות לא מעוקבים שימחקו מבלי למחוקם בפועל. זה מאפשר לך לסקור את השינויים לפני ביצועם.
בדוגמה שלהלן, פקודת git clean -n
מציגה את הקבצים שצריך למחוק אך אינה מוחקת אותם.
git clean -n להפעלה יבשה. תמונה מאת המחבר.
שילוב עם איפוס git
כדי לאפס מדריך עבודה של Git באופן מלא, ניתן לשלב git reset ו־git clean שבהם:
-
git reset --hard
: מאפס קבצים מעוקבים למצב האחרון שהוצא לשחזור, וזורק את כל השינויים המקומיים. -
git clean -fd
: מסיר קבצים ותיקיות לא מעוקבים, משאיר רק קבצים שהוצא לשחזור.
השילוב הזה מבטיח תיק עבודה נקי לחלוטין, והופך אותו לשימושי בעת החלפת ענפים, ביטול שינויים ניסיוניים או הכנה להתחלה חדשה.
תבדוק את המדריך או Git Pull Force: איך לדרס ענף מקומי עם ענף מרחוק כדי ללמוד את השיטות הטובות ביותר לדרוס שינויים מקומיים.
מדריך שלב אחר שלב לשימוש ב־git clean
עקוב אחר השלבים הבאים כדי לנקות בצורה בטוחה את המאגר שלך ב־Git ולהסיר קבצים ותיקיות שאינם רצויים.
שלב 1: בדוק את המצב הנוכחי
לפני הניקוי, הפעל את git status
כדי לבדוק את המצב הנוכחי של המאגר שלך ולראות אילו קבצים הם שאינם מעוקרים.
git status
git status כדי לבדוק את המצב הנוכחי של המאגר. תמונה מאת המחבר.
שלב 2: צפה במה שימחק
לפני ביצוע כל פקודת מחיקה, השתמש ב־git clean -n
כדי לצפות במה שימחק.
git clean -n
git clean -n כדי לצפות מה יימחק. תמונה מאת המחבר.
שלב 3: הסרת קבצים שאינם מעוקרים
הרץ את git clean -f
כדי להסיר קבצים שאינם מעוקרים אם התצוגה מראה נכון.
git clean -f
הסר שינויים שאינם מעוקרים בעזרת git clean -f. תמונה מאת המחבר.
שלב 4: הסרת תיקיות שאינן מעוקרות
השתמש ב־git clean -fd
כדי להסיר תיקיות שאינן מעוקרות.
git clean -fd
הסרת ספריות שאינן מעוקרות באמצעות git clean -fd. תמונה מאת המחבר.
שלב 5: הסרת קבצים שהוגדרו כנתמכים
כדי להסיר גם קבצים שאינם מעוקרים וגם קבצים שהוגדרו כנתמכים, יש להשתמש בפקודת git clean -fx
.
git clean -fx
שלב 6: שימוש במצב אינטראקטיבי לניקוי בחירתי
לשליטה נוספת, שקול להשתמש ב־git clean -i
להסרה אינטראקטיבית. מצב זה מאפשר לך לבחור אילו קבצים למחוק באופן יחידני.
Git clean -i
git clean -i מצב אינטראקטיבי לניקוי בחירתי. תמונה מאת המחבר.
git clean נגד פקודות Git אחרות
הפקודה git clean
נשווה לעתים תקיפות עם פקודות Git אחרות שמשנות או מאפסות קבצים. הטבלה למטה מדגישה את ההבדלים העיקריים:
Command | Function |
---|---|
git clean |
מסיר קבצים וספריות שאינם מעוקרים לצמיתות. |
git reset |
מאפס קבצים שנמצאים במעקב למצב קודם, בהשפעה על שינויים שנמצאים בשלב הביצוע ושנאמתו. |
git checkout (או git restore ) |
מזיז את השינויים בקבצים שנמצאים במעקב אבל לא מסיר אותם. |
git stash |
שומר שינויים, המעוקרים והמעוקרים, באופן זמני לשימוש מאוחר יותר. |
שיטות מומלצות לניקוי ב-Git
כדי להשתמש ב־git clean
בצורה בטוחה ויעילה, עקוב אחר מומחיות אלו:
-
השתמש בבדיקות רציפות (Dry Runs) (-n) לפני מחיקה: תמיד השתמש ב־אפשרות
git clean -n
כדי לבצע בדיקת ריצה רציפה לפני ביצועgit clean
. זה מאפשר לך לצפות אילו קבצים יוסרו מבלי למחוק אותם בפועל. -
להיות זהירים עם קבצים שנתעלמו: כאשר אתה משתמש ב-
git clean
, עליך להיות זהיר עם האפשרות-x
, שמסירה קבצים שנתעלמו. זה עשוי למחוק קבצי תצורה חשובים שמצוים ברשימה ב-.gitignore
. אם יש לך צורך להסיר קבצים שנתעלמו, השתמש בפקודתgit clean -fx
. -
שלבו עם איפוס Git לניקוי מלא: כדי לאפס באופן מלא את המאגר שלכם, שלבו
git reset
עםgit clean
, כאשרgit reset --hard
משיב קבצים מעוקבים למצבם האחרון שנקבע ו־git clean -fd
מסיר קבצים ותיקיות שאינם מעוקבים. -
השתמש במצב אינטראקטיבי (-i) למחיקות בטוחות: במקום להסיר קבצים באופן סמוי, השתמש במצב אינטראקטיבי (
git clean -i
) כדי לבדוק ולבחור אילו קבצים למחוק.
סיכונים פוטנציאליים ואמצעי זהירות
שימוש ב־git clean
עשוי להיות סיכוני אם לא נעשה בזהירות, מכיוון שהוא מוחק קבצים לצמיתות מבלי לשמור אותם בשום מקום. הנה כמה מהסיכונים העיקריים והאמצעים לזהירות שכדאי לשקול:
-
הקבצים נמחקים לצמיתות: בניגוד ל
git stash
, ששומר זמנית שינויים,git clean
מוחק לצמיתות קבצים וקטלוגים שלא מנוטרים. ברגע שהוסרו, קבצים אלה לא ניתן לשחזר באמצעות Git. אם ייתכן שתצטרך את הקבצים מאוחר יותר, שקול לאחסן או לגבות אותם לפני הרצת הפקודהgit clean
. -
היה זהיר עם האפשרות -x: השימוש ב
git clean-fx
מסיר קבצים מוזנחים, שעשויים לכלול קבצי קונפיגורציה חשובים המפורטים ב.gitignore
או מטמונים של תלות כמוnode_modules/
וvenv/
. הסרת קבצים אלה בטעות עלולה לשבור בניות או סביבות פיתוח, לכן השתמש באפשרות זו רק כשזה הכרחי. -
הפעל ריצה יבשה תחילה: בכל עת עליך לבצע ריצת ניסיון באמצעות
git clean -n
לפני ביצועgit clean -f
. שלב זה מאפשר לך לתצוג מראש אילו קבצים יימחקו, עוזר לך למנוע הסרת קבצים חשובים בטעות -
גישות אלטרנטיביות: במקרים מסוימים, שימוש ב־
git stash
עשוי להיות אפשרות טובה יותר מ־git clean
. הפקודהgit stash -u
מצביעה על קבצים שאינם מעוקרים, ומחריזה עליהם לשם שחזור פוטנציאלי בעתיד, וה־git stash pop
משחזר שינויים שנחרזו כאשר נדרש זאת. השיטה עשויה להיות שימושית כאשר נדרש לעבור בין ענפים או לנקות את המרחב העבודה שלך מבלי לאבד לצמיתות שינויים.
Conclusion
בסיס קוד שנתחזק היטב מראה תשומת לב לפרטים, יעילות ויכולת לנהל נכסים דיגיטליים באופן אחראי. מעסיקים מחפשים מפתחים שמבינים בשיטות מובילות כגון שימוש ב-git clean -n
לפני מחיקת קבצים, הזהירות בקבצים שנתעלמו באמצעות -x
, ושימוש באלטרנטיבות בטוחות יותר כמו git stash
.
לקוחות DataCamp מחפשים מקורות חינוך ומסמנים למעסיקים שאתה לוקח את פיתוח התוכנה ברצינות. לכן, אני ממליץ ללמוד את פוסט הבלוג שאלות ראיון ותשובות ל-Git ה-20 העליונים לכל הרמות ולקחת את הקורס החדש שלנו יסודות Git כדי להפוך למומחה בכל הנוגע ל-Git.