כיצד למחוק סניף ב- Git מקומית ומרחוק

כיצד למחוק סניף ב- Git מקומית ומרחוק

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





להמיר כתב יד לתוכנה חופשית לטקסט

תהליכי עבודה רבים של git עוסקים בענפים ארוכי טווח וזמניים כאחד. לכן, לעתים קרובות יש צורך למחוק סניפים במהלך הפיתוח. לעיתים יש צורך למחוק סניפים משותפים, משרת מרוחק, כמו גם מסניפים מקומיים.





למה למחוק סניף?

ראשית, אם אתה עדיין מתמודד עם git, יש סיכוי די טוב שתיצור סניף ואז תחליט שאתה לא צריך. או שאולי אתה מתנסה בענפים ורוצה לנקות אחרי עצמך. זה בסדר מכיוון שהסתעפות ב- git היא פעולה קלה. זה מהיר מאוד ומשתמש ביעילות בשטח דיסק.





כתוצאה מכך, תהליכי עבודה רבים לפיתוח git מעודדים הסתעפות, אפילו למשימות קטנות או קצרות מאוד. לדוגמה, אסטרטגיה נפוצה היא ליצור סניף לתיקון באגים אחד. זה נכון גם אם זה כרוך בסופר יחיד שביצע שינוי של שורה אחת בקובץ אחד.

מסיבות אלה, יצירה ומחיקה של סניפים הם פעולות שצריך להבין היטב. אתה עלול למצוא את עצמך מוחק לעתים קרובות סניפים במהלך תהליך עבודה פיתוח טיפוסי.



מאגר לדוגמא עם סניפים

הדוגמאות הבאות מתייחסות למאגר לדוגמא בעל המבנה הבא:

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

שים לב שלכל סניף מקומי יש סניף מקביל במעלה הזרם מהשלט: מָקוֹר .





מחיקת ענף באמצעות שורת הפקודה

תחביר הפקודה הבסיסי למחיקת ענף הוא:

git branch (-d | -D) [-r] ...

הצורה הפשוטה ביותר של הפקודה מוחקת סניף מקומי, בתנאי שכל השינויים שלו אוחדו:





$ git branch -d dev

אינך יכול למחוק את הענף הפעיל כרגע; אם תנסה לעשות זאת תקבל הודעה כזו:

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

כאשר הדברים הולכים כשורה, תראה הודעת אישור:

Deleted branch dev (was 1ae41e8).

אם תמחק ענף שקיים רק מקומית, עם שינויים לא ממוזגים, תאבד את השינויים האלה. לכן, git תסרב למחוק סניף במצב כזה, כברירת מחדל:

error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.

כפי שהודעת השגיאה מודיעה, תוכל לכפות מחיקה באמצעות -D דֶגֶל. עם זאת, git יאפשר לך למחוק סניף מקומי שלא התמזג אם הוא קיים מרחוק:

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

מחיקת ענף מרוחק שונה בתכלית. אתה תשתמש ב- git push הפקודה יחד עם -d דגל למחיקה. לאחר מכן, ספק את שם השלט (לעתים קרובות מָקוֹר ) ושם הסניף:

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

מחיקת סניפים מקומיים ומרוחקים עם שולחן העבודה של GitHub

שלא כמו תוכנית שורת הפקודה git, אפליקציית שולחן העבודה של GitHub רק יאפשר לך למחוק את הענף הפעיל. תוכל לבצע פעולה זו באמצעות ענף בתפריט, על ידי בחירת לִמְחוֹק אפשרות ומאשרת אותה:

GitHub Desktop לא יאפשר לך למחוק את ענף ברירת המחדל - למשל. main - למרות ש git עצמו תומך בכך. אם ענף ברירת המחדל הוא זה שכרגע פעיל, האפליקציה משביתה את פעולת התפריט.

אם הסניף מייצג גם ענף מרוחק, GitHub Desktop נותן את האפשרות למחוק אותו גם מהשלט:

מחיקת סניפים באמצעות GitKraken

GitCrack מציג את הסניפים המקומיים והמרוחקים של המאגר שלך בסרגל הצד השמאלי. עליך למחוק כל אחת מהןלְחוּד.

העבר את העכבר מעל שם הסניף המתאים ולחץ על ענף תפריט פעולות שנראה כמו שלוש נקודות אנכיות. מהתפריט, בחר לִמְחוֹק :

תראה הודעת אישור המודיעה לך כי מדובר בפעולה הרסנית. אתה יכול לאשר שאתה רוצה להמשיך עם לִמְחוֹק לַחְצָן:

המשקף את התנהגות ברירת המחדל של תוכנית שורת הפקודה git, תחילה עליך לעבור לענף אחר מזה שאתה מוחק.. אחרת, תראה הודעת שגיאה:

מחיקת סניפים מקומיים ומרוחקים באמצעות מגדל

מחיקת סניף עם מִגדָל דומה מאוד למחיקת סניף עם GitKraken. סניפים מקומיים ומרוחקים מוצגים בלוח בצד שמאל. לחץ לחיצה ימנית על כל ענף ובחר באפשרות מחק מתפריט ההקשר:

הבדל מרכזי אחד הוא שניתן למחוק סניף מרוחק יחד עם הסניף המקומי שלו, במהלך האישור:

מחיקת סניף ב- GitHub

GitHub פועל רק כמקור מרוחק, כך שסניפים שם מרוחקים כברירת מחדל. אם תמחק סניף באמצעות אתר GitHub, יהיה עליך למחוק את הסניף המקומי המתאים באמצעות אחת מהשיטות האחרות כאן.

בדומה לאפליקציית שולחן העבודה של GitHub, אתר GitHub לא יאפשר לך למחוק את ענף ברירת המחדל. האפשרות פשוט לא מופיעה. אך מחיקת ענף היא פשוטה. מתוך המאגר קוד לדף, לחץ על ענפים הקישור, אתר את הענף למחיקה ולחץ על מחק את הענף הזה סמל, שנראה כמו פח אשפה:

שים לב שאין בדיקות לשינויים לא ממוזגים, כך שב- GitHub הסניף פשוט יימחק מיידית. עם זאת, מכיוון שהוא תמיד ייצג ענף מרוחק, זו צריכה להיות ההתנהגות שאתה מצפה לה.

שים לב שאחרי המחיקה תראה כפתור ל- לשחזר הענף. עם זאת, זוהי פשוט תכונת ביטול שימושית, במקרה שתלחץ על סמל המחיקה בטעות. אל תסמוך עליו, כי ברגע שתתרענן או תנווט מהדף, תאבד את האפשרות!

מחיקת סניפים מקומיים ומרוחקים ב- Bitbucket

Bitbucket, כמו GitHub, לא יאפשר לך למחוק את ענף ברירת המחדל. Bitbucket קורא לזה סניף ראשי ב הגדרות מאגר . אתה יכול למחוק כל סניף אחר המופיע ב ענפים הכרטיסייה, באמצעות המקביל שלה פעולות תַפרִיט:

תוכל גם למחוק יותר מסניף אחד בבת אחת אם אתה מבצע פעולת ניקוי גדולה:

מחיקת סניפים היא חלק מתהליך עבודה Git אופייני

סניפי Git יכולים לסבך את זרימת העבודה שלך, במיוחד עם ענפים מקומיים, מרוחקים ומעקב. אך לצורך פיתוח יום-יומי פשוט, סביר שתצליח למחוק סניפים מקומיים ולמחוק אותם כל הזמן. זהו היבט מרכזי של זרימת עבודה טיפוסית של git שכדאי להתרגל אליה.

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל כיצד להשתמש בסניפי Git לבניית פרויקט התכנות שלך

במאמר זה נבחן מה המשמעות של הסתעפות של הקוד שלך, כיצד לעשות זאת ודרכי ניהול עדכונים לענף git 'הראשי'.

קרא הבא
נושאים קשורים
  • תִכנוּת
  • GitHub
על הסופר בובי ג'ק(58 מאמרים פורסמו)

בובי הוא חובב טכנולוגיה שעבד כמפתח תוכנה במשך רוב שני העשורים. הוא נלהב משחקים, עובד כעורך ביקורות במגזין Switch Player, והוא שקוע בכל ההיבטים של פרסום באינטרנט ופיתוח אתרים.

עוד מאת בובי ג'ק

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה