logo

גיט סטאש

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

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

גיט סטאש

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

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

    Git stash Git stash שמור רשימת מחסני Git Git stash חלים שינויים ב-Git Git stash pop Git stash drop תן מחסנים ברורים ענף מחסנים של Git

עבודת מחסנים

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

ריפוד np

תחביר:

 $ git status 

תְפוּקָה:

גיט סטאש

מהפלט לעיל, אתה יכול לראות את המצב שיש שני קבצים שאינם במעקב design.css ו newfile.txt זמין במאגר. כדי לשמור אותו באופן זמני, אנו יכולים להשתמש בפקודה git stash. הפקודה git stash משמשת כ:

תחביר:

 $ git stash 

תְפוּקָה:

גיט סטאש

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

גיט סטאש

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

Git Stash Save (שומר סטאשים עם ההודעה):

ב-Git, ניתן לאחסן את השינויים בהודעה. כדי לאחסן שינוי עם הודעה, הפעל את הפקודה הבאה:

תחביר:

 $ git stash save '' 

תְפוּקָה:

גיט סטאש

המחסן לעיל יישמר עם הודעה

Git Stash רשימת (בדוק את המאוחסנים המאוחסנים)

כדי לבדוק את המאוחסנים המאוחסנים, הפעל את הפקודה הבאה:

תחביר:

 $ git stash list 

תְפוּקָה:

אופרטור טרירי java
גיט סטאש

במקרה הנ'ל, הכנתי מחסן אחד, שמוצג כ' stash@{0}: WIP בבדיקה: קובץ CSS 0a1a475 '.

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

גיט סטאש

זה יציג את כל המאגרים עם אינדקס כ stash@{0}: stash@{1}: וכולי.

Git Stash החל

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

תחביר:

 $ git stash apply 

תְפוּקָה:

גיט סטאש

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

גיט סטאש

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

במקרה של יותר מסטש אחד, אתה יכול להשתמש בפקודה 'git stash application' ואחריה ב-stash index id כדי להחיל את ה-commit המסוים. הוא משמש כ:

תחביר:

 $ git stash apply 

שקול את הפלט שלהלן:

תְפוּקָה:

גיט סטאש

אם לא נציין מחסום, Git לוקח את המאחסן האחרון ומנסה להחיל אותו.

Git Stash שינויים

אנחנו יכולים לעקוב אחר המאגרים והשינויים שלהם. כדי לראות את השינויים בקובץ לפני ה-stash ואחרי פעולת ה-stash, הפעל את הפקודה הבאה:

תחביר:

 $ git stash show 

הפקודה לעיל תציג את הקובץ ששמור והשינויים שבוצעו בו. שקול את הפלט שלהלן:

תְפוּקָה:

גיט סטאש

הפלט שלמעלה ממחיש שיש שני קבצים שמוגנים, ובוצעו עליהם שתי הוספות.

אנחנו יכולים לעקוב בדיוק אחר השינויים שנעשו בקובץ. כדי להציג את התוכן שהשתנה של הקובץ, בצע את הפקודה הבאה:

תחביר:

 $ git stash show -p 

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

תְפוּקָה:

גיט סטאש

הפלט לעיל מציג את שם הקובץ עם תוכן שונה. זה פועל כמו פקודת git diff. ה git diff הפקודה תציג גם את הפלט המדויק.

Git Stash Pop (החלה מחדש של שינויים מאוחסנים)

Git מאפשר למשתמש להחיל מחדש את המחויבויות הקודמות באמצעות פקודת git stash pop. אפשרות הפצה מסירה את השינויים מהמחסן ומחילה אותם על קובץ העבודה שלך.

הפקודה git stash pop דומה למדי ל-git stash app. ההבדל העיקרי בין שתי הפקודות הללו הוא פקודת stash pop שמוחקת את ה-stash מהמחסנית לאחר החלתו.

תחביר:

 $ git stash pop 

הפקודה לעיל תחיל מחדש את ההתחייבויות הקודמות על המאגר. שקול את הפלט שלהלן.

תְפוּקָה:

גיט סטאש

Git Stash Drop (הסרה)

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

הדרך היחידה להחזיר אותו היא אם לא תסגור את הטרמינל לאחר מחיקת ה-stash. פקודת הסטאש תשמש כ:

הגדרת נתיב פיתון

תחביר:

 $ git stash drop 

תְפוּקָה:

גיט סטאש

בפלט לעיל, המאחסן האחרון (stash@{0}) נשמט משלושה מחסנים. הפקודה רשימת מחסניות מפרטת את כל המאגרים הזמינים בתור.

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

תחביר:

 $ git stash drop 

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

 $ git stash drop stash@{1} 

שקול את הפלט שלהלן:

xor ב-java
גיט סטאש

בפלט לעיל, ה-commit stash@{1} נמחק מהתור.

Git Stash Clear

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

תחביר:

 $ git stash clear 

זה ימחק את כל המאגרים הקיימים במאגר.

תְפוּקָה:

גיט סטאש

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

סניף גיט סטאש

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

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

תחביר:

 $ git stash branch 

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

תְפוּקָה:

גיט סטאש

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