מסתבכת עם בראנצ'ים של GITHUB

P.S.

משתמש מקצוען
אני מנסה לעבוד על כמה בראנצ'ים במקביל, ולפעמים צריכה לעבור ביניהם לפני שעשיתי commit לשינויים
אחרי שעברתי בראנץ' אני רואה ב-git status שהשינויים מהבראנץ הקודם מופיעים כשינויים גם בבראנץ הנוכחי.
מחיקה שלהם תמחוק משניהם
(אני עוברת בין הבראנצ'ים ע"י הפקודה git chekout)
אשמח להסבר ועזרה, תודה מראש (:
 

ינח

משתמש מקצוען
D I G I T A L
למה לעבור לפני שעשית Commit?
יש אפשרות לשמור את השינויים בצד באמצעות git stash
הפקודה שומרת את השינויים שעדין לא נעשה עליהם COMMIT וכך ניתן לחזור לברנץ שרוצים ולהחזיר את השינויים.
https://git-scm.com/docs/git-stash
 

P.S.

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

האם stash הוא פר בראנץ'?
או שקיים אחד לכולם יחד? (שוב זה לא עוזר לי, במקרה של עבודה על דברים במקביל)
 
  • תודה
Reactions: UU

ינח

משתמש מקצוען
D I G I T A L
הסבר מהיר ל-STASH:
שמירה זמנית של הקבצים ב-branch הנוכחי, אחרי הפעולה הזו אפשר בקלות לעבור ל-branch אחר, לשנות לתקן ואז לחזור ל-branch שלנו ולהחזיר את כל השינויים שעשינו

git stash – שמירה זמנית של השינויים

git stash list – רשימת הקבצים שנעשה בהם שינוי

git stash apply החזרת השינויים של לברנץ

הרשימה של ה-STASH לא נמחקת כל עוד לא הרצנו git stash drop
 
נערך לאחרונה ב:

P.S.

משתמש מקצוען
אז אני מבינה שאין ממש אפשרות לעבוד על שני בראנצ'ים בו זמנים בלי לעשות commit או stash.
אוקיי, תודה :)
 

UU

משתמש סופר מקצוען
הנדסת תוכנה
אפשר לעבוד עם git stash, אבל לדעתי לא מומלץ,זה בעצם סוג של פח אשפה בהמתנה
אם מדובר במשהו ממש פיצי - אולי שווה
שימי לה להחזיר מה-stash לפני שאת עושה marge של השינויים על הברנצ' שבאמצע
עדיין, אם מדובר שיותר מדקת עבודה על ברנצ' אחר - תעשי commit לא יקרה כלום אם זה באמצע משימה, זו דעתי.
(וכל עוד לא דחפת ל-git את השינויים - הם יעברו מברנצ' אחד לשני ב-chackout אבל אם יהיה התנגשות בין 2 קבצים יקרה marge)
בהצלחה!
 

B HAPPY

משתמש מקצוען
D I G I T A L
אפשר לעשות commit ולעבור branch
וכשחוזרים אח"כ לעשות git reset --soft HEAD~1
וזה יבטל את ה -commit וישאיר את השינויים בקבצים -
יחזיר אותם למצב midified
(כמעט בטוח שזה הסינטקס - תעשי ניסוי על שינוי קטן ותבדקי)
 

5127109

מהמשתמשים המובילים!
עיצוב גרפי
עימוד ספרים
גם לי זה קורה הרבה לעבוד על הרבה ברנצים. כל הסטשים למינהם יכולים להביא את המערכת רחוק מאוד .
אני כשאני עובר ברנץ אני עושה קומיט בלי לכתוב עליו כלום רק כאשר יש מסה משמעותית אני עושה קומיט עם מסג תקין.
source-tree מאוד עוזר בדברים האלה לדעתי מומלץ בחום. נותן ויזואליות על אפה את נמצאת בגיט.
 
  • תודה
Reactions: UU

C

משתמש מקצוען
אז אני מבינה שאין ממש אפשרות לעבוד על שני בראנצ'ים בו זמנים בלי לעשות commit או stash.
אוקיי, תודה :)
אפשר, אם לא אכפת לך שהשינויים מהבראנצ' הראשון נמצאים כשאת עובדת על הבראנץ' השני. אח"כ תעשי commit & push רק לשינויים החדשים, ותחזרי לבראנץ' המקורי.
אבל אם זו עבודה של דקה באמת אין סיבה שלא להשתמש בstash. יש בו גם אפשרות להוציא לא את הstash האחרון, אלא את הקודמים לו.
 
  • תודה
Reactions: UU

trew

מהמשתמשים המובילים!
עיצוב גרפי
מוזיקה ונגינה
הדמיות בתלת מימד
D I G I T A L
אני לא רוצה לעשות commit באמצע משימה
לפעמים מתעורר צורך דחוף לעבור למשימה בבראנץ אחר
לפעמים משימה מסויימת תקועה בגלל אנשים אחרים

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

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

קוד:
git commit -m " the feature done" --amend
 
נערך לאחרונה ב:

P.S.

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

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

קוד:
git commit -m " the feature done" --amend
תודה! לא הכרתי וזה באמת פיתרון
 

אמא ומתכנתת

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

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

קוד:
git commit -m " the feature done" --amend
זה מאד שימושי גם אם נניח דחפנו כבר קומיט, ופתאום גילינו ששכחנו להוסיף לו קובץ מסוים.
פשוט עושים git add, commit --amend, push -f והקומיט מתוקן :)
 

java

משתמש סופר מקצוען
מנוי פרימיום
הנדסת תוכנה
זה מאד שימושי גם אם נניח דחפנו כבר קומיט, ופתאום גילינו ששכחנו להוסיף לו קובץ מסוים.
פשוט עושים git add, commit --amend, push -f והקומיט מתוקן :)
או אם מגלים שיש typo בהודעה שניה אחרי הcommit.
עושים --amend ומתקנים.
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קכג

א שִׁיר הַמַּעֲלוֹת אֵלֶיךָ נָשָׂאתִי אֶת עֵינַי הַיֹּשְׁבִי בַּשָּׁמָיִם:ב הִנֵּה כְעֵינֵי עֲבָדִים אֶל יַד אֲדוֹנֵיהֶם כְּעֵינֵי שִׁפְחָה אֶל יַד גְּבִרְתָּהּ כֵּן עֵינֵינוּ אֶל יְהוָה אֱלֹהֵינוּ עַד שֶׁיְּחָנֵּנוּ:ג חָנֵּנוּ יְהוָה חָנֵּנוּ כִּי רַב שָׂבַעְנוּ בוּז:ד רַבַּת שָׂבְעָה לָּהּ נַפְשֵׁנוּ הַלַּעַג הַשַּׁאֲנַנִּים הַבּוּז לִגְאֵיוֹנִים:
נקרא  1  פעמים

לוח מודעות

למעלה