Git Stash
עודכן לאחרונה
git stash שומר בצד את השינויים שלא נשמרו בקומיט ומחזיר את עץ העבודה למצב נקי, כך שאפשר לעבור ענף או להריץ pull בלי ליצור קומיט לעבודה חצי גמורה. השינויים נכנסים למחסנית שאפשר להחיל ממנה שוב מאוחר יותר עם git stash pop (החלה והסרה) או git stash apply (החלה ושמירה).
נסו את הפקודות האלה בעורך הטרמינל אונליין: shell אמיתי בדפדפן, בלי להתקין כלום.
תחביר
| פקודה | מה היא עושה |
|---|---|
git stash | שמירה בצד של שינויים בקבצים במעקב וניקוי עץ העבודה |
git stash -u | שמירה בצד גם של קבצים שלא במעקב |
git stash push -m "msg" | stash עם הודעה תיאורית |
git stash push <file> | stash לקובץ מסוים בלבד |
git stash list | הצגת כל ה-stashes |
git stash pop | החלה מחדש של ה-stash האחרון והסרתו |
git stash apply | החלה מחדש של ה-stash האחרון ושמירתו |
git stash drop | מחיקת ה-stash האחרון |
git stash clear | מחיקת כל ה-stashes |
pop מול apply
| התנהגות | git stash pop | git stash apply |
|---|---|---|
| מחיל מחדש את השינויים | כן | כן |
| מסיר את ה-stash אחר כך | כן | לא |
| מתאים לשימוש חוזר ב-stash | לא | כן |
שאלות נפוצות על git stash
מה git stash עושה?
git stash pop או git stash apply. זה שימושי כשצריך לעבור ענף אבל עוד לא מוכנים ליצור קומיט.מה ההבדל בין git stash pop לבין git stash apply?
git stash pop גם מסיר את ה-stash מהמחסנית אחר כך, ואילו git stash apply משאיר אותו במחסנית כדי שתוכלו להחיל אותו שוב במקום אחר. השתמשו ב-pop לשחזור חד פעמי, וב-apply כשרוצים להשתמש ב-stash שוב.האם git stash כולל קבצים שלא במעקב?
git stash פשוט שומר בצד רק קבצים במעקב (ששונו). הוסיפו -u (git stash -u) כדי לכלול קבצים שלא במעקב, או -a כדי לכלול גם קבצים מוחרגים. בלי הדגלים האלה, קבצים חדשים שלא הרצתם עליהם git add נשארים בעץ העבודה.איך מחילים stash מסוים?
git stash list כדי לראות אותם ממוספרים כמו stash@{0}, stash@{1}, ואז git stash apply stash@{1} (או pop) כדי להחיל מחדש stash מסוים. לצד כל stash מוצגים גם הענף וההודעה שאיתם הוא נוצר, כך שאפשר להבדיל ביניהם.אפשר לתרגל את זה אונליין?
git stash ב-shell אמיתי בדפדפן, בלי להתקין כלום. גם קורס ה-Git האינטראקטיבי והחינמי של Coddy מלמד ניהול עבודה בתהליך צעד אחר צעד.