Git Delete Local Branch: מחיקת ענף מקומי
עודכן לאחרונה
אחרי שהעבודה בענף מוזגה, מוחקים אותו עם git branch -d <branch>. Git מסרב אם יש בענף קומיטים שלא מוזגו לשום מקום: זו בדיקת בטיחות. כדי למחוק אותו בכל זאת, השתמשו ב--D באות גדולה. מחיקת ענף מקומי אף פעם לא נוגעת בעותק שבמאגר המרוחק; לשם כך יש פקודה נפרדת.
נסו את הפקודות האלה בעורך הטרמינל אונליין: shell אמיתי בדפדפן, בלי להתקין כלום.
תחביר
| פקודה | מה היא עושה |
|---|---|
git branch -d feature | מחיקת feature (רק אם מוזג) |
git branch -D feature | מחיקה בכוח של feature גם אם לא מוזג |
git branch -d branch1 branch2 | מחיקת כמה ענפים בבת אחת |
מקרים נפוצים
| מטרה | פקודה |
|---|---|
| מחיקת ענף שמוזג | git branch -d old-feature |
| מחיקה בכוח של ענף שלא מוזג | git branch -D scratch |
| מחיקת הענף שבו אתם נמצאים | git switch main ואז git branch -d feature |
| בדיקה אילו ענפים מוזגו | git branch --merged |
דוגמה מלאה
סיום פיצ'ר, מיזוג שלו וניקוי הענף המקומי.
| שלב | פקודה | תוצאה |
|---|---|---|
| 1 | git switch main | יציאה מהענף שרוצים למחוק |
| 2 | git merge feature | הכנסת הקומיטים של הפיצ'ר ל-main |
| 3 | git branch -d feature | מחיקת הענף שכבר מוזג |
שאלות נפוצות על מחיקת ענף מקומי ב-Git
מה ההבדל בין git branch -d לבין -D?
-d היא המחיקה הבטוחה: Git מסיר את הענף רק אם הקומיטים שלו כבר מוזגו לענף אחר, כך שאי אפשר לאבד עבודה בטעות. -D היא המחיקה בכוח (קיצור של --delete --force): היא מסירה את הענף בכל מקרה, גם אם יש בו קומיטים שלא מוזגו. השתמשו ב--d כברירת מחדל, ופנו ל--D רק כשאתם בטוחים שאתם רוצים לזרוק את הקומיטים של הענף.איך מוחקים את הענף שבו אני נמצא עכשיו?
אי אפשר למחוק את הענף שבו אתם נמצאים. עברו קודם לענף אחר עם
git switch main (או git checkout main), ואז הריצו git branch -d feature. אם תנסו למחוק את הענף הנוכחי, Git יחזיר את השגיאה "Cannot delete branch ... checked out".האם מחיקת ענף מקומי מוחקת אותו גם ב-GitHub?
לא.
git branch -d מסיר את הענף רק מהמאגר המקומי. הענף במאגר המרוחק (GitHub, GitLab וכו') נשאר עד שמוחקים אותו בנפרד עם git push origin --delete feature.אפשר לשחזר ענף שמחקתי?
בדרך כלל כן, אם זה היה לאחרונה. הריצו
git reflog כדי למצוא את הקומיט שהענף הצביע עליו, ואז צרו אותו מחדש עם git branch feature <commit-hash>. הקומיטים לא נמחקים מיד באיסוף הזבל, כך שבדרך כלל אפשר לשחזר ענף שנמחק בטעות.אפשר לתרגל את זה אונליין?
כן. פתחו את עורך הטרמינל אונליין כדי להריץ את הפקודות האלה ב-shell אמיתי בדפדפן, בלי להתקין כלום. כשתרצו מסגרת מסודרת, קורס ה-Git האינטראקטיבי והחינמי של Coddy מוביל אתכם מהקומיט הראשון ועד ענפים ומיזוג, צעד אחר צעד.