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

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

פעולה בסיסית של git stash

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

זרימת העבודה הסטנדרטית להחסנת שינויים היא:

  1. בצע שינויים מקומיים
  2. שמור שינויים מקומיים
  3. החל מחדש שינויים מוסתרים

כאשר אתה מאחסן שינויים באמצעות ה git stash [דחיפה] הפקודה, git מאפס ל-HEAD. לאחר מכן תוכל להמשיך לעבוד על כל מה שאתה צריך, להתחייב למאגר כאילו מעולם לא ביצעת את השינויים המקוריים.

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

עבודה עם יותר ממאגר אחד

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

instagram viewer

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

stash@{0}: WIP ב-main: 2fba62e first commit
stash@{1}: WIP ב-main: 2fba62e first commit

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

git stash push -m "שלישי"

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

stash@{0}: על ראשי: שלישי
stash@{1}: WIP ב-main: 2fba62e first commit

הצגת ההבדלים בין הבדלים

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

מופע $ git stash
README.md | 3 +++
קובץ אחד השתנה, 3 הוספות (+)

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

git stash show stash@{0}

יצירת סניף ממחסן

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

ענף git stash

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

ניקוי ה-Stash Up

אין פקודה "git unstash". אם ברצונך להסיר ערך מחסן, השתמש ב- drop:

git stash יְרִידָה

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

git stash clear

השתמש ב-git stash ל-Temporary Lightweight Commits

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

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