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

  • הוסף לסימניות
  • #21
לא הכרתי
תודה
מה עושה -f?
-f זה קיצור של -force. בלעדיו הpush לא יצליח, כי בעצם אין לו מה לדחוף - את עומדת עדיין על אותו קומיט שכבר דחפת (נכון שהוספת לו משהו, אבל הוא בודק לפי הקומיט).
-f מכריח אותו לדחוף בכ"ז.
 
  • תודה
Reactions: UU
  • הוסף לסימניות
  • #22
-f זה קיצור של -force. בלעדיו הpush לא יצליח, כי בעצם אין לו מה לדחוף - את עומדת עדיין על אותו קומיט שכבר דחפת (נכון שהוספת לו משהו, אבל הוא בודק לפי הקומיט).
-f מכריח אותו לדחוף בכ"ז.
במקרה שלה היא לא צריכה לעשות פוש, הקומיט הוא רק בשביל לעבור בראנצ', בכל מקרה חידוד נהדר.
 
  • הוסף לסימניות
  • #23
לא הכרתי
תודה
מה עושה -f?
ממה שאני זוכר, זה שהוא מורה לגיט להתעלם מהבדיקה שגיט בד"כ מבצעת על הבראנץ', האם תכולתו זהה לקומיט הלוקאלי האחרון,

לדוגמה, גיט פוש רגיל בלי F, בודק האם הקומיט בבראנץ' STAGING הוא קומיט "tu8309fd3" בדיוק כמו הקומיט האחד-לפני-אחרון במחשב שלך (שאמור להיות אותו מספר)

ואז היא דוחפת בכוח
(-f זה קיצור של --force)
את תוכן הקומיט החדש לרמוט בראנץ' הרצוי.


יעויין כאן
https://git-scm.com/docs/git-push#Documentation/git-push.txt--f
 
  • הוסף לסימניות
  • #24
הסבר מהיר ל-STASH:
שמירה זמנית של הקבצים ב-branch הנוכחי, אחרי הפעולה הזו אפשר בקלות לעבור ל-branch אחר, לשנות לתקן ואז לחזור ל-branch שלנו ולהחזיר את כל השינויים שעשינו

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

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

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

הרשימה של ה-STASH לא נמחקת כל עוד לא הרצנו git stash drop
git stash pop
git stash save
 
  • הוסף לסימניות
  • #25
אפשר לעבוד עם git stash, אבל לדעתי לא מומלץ,זה בעצם סוג של פח אשפה בהמתנה
אם מדובר במשהו ממש פיצי - אולי שווה
שימי לה להחזיר מה-stash לפני שאת עושה marge של השינויים על הברנצ' שבאמצע
עדיין, אם מדובר שיותר מדקת עבודה על ברנצ' אחר - תעשי commit לא יקרה כלום אם זה באמצע משימה, זו דעתי.
(וכל עוד לא דחפת ל-git את השינויים - הם יעברו מברנצ' אחד לשני ב-chackout אבל אם יהיה התנגשות בין 2 קבצים יקרה marge)
בהצלחה!
ממש לא בהכרח
<git stsh sve <name זה אחד הדברים הנוחים והשימושיים
 
  • תודה
Reactions: UU
  • הוסף לסימניות
  • #27
לא הכרתי
תודה
מה עושה -f?
מחליף את הקומיט האחרון בקומיט שעכשיו דחפת.
-f זו פעולה מסוכנת.
כל משחק בהתחלה עם --amend ו- -f יאבד מידע, עד שמכירים טוב את הפעולות. (אמנם קשה מאוד לאבד מידע עם גיט, הכל נשאר ולהכל יש דוקיומנטציה אבל ל תמיד קל או יודעים לשחזר)
קחו את זה בחשבון.
(אבל מניסיון, זה שווה, ללמוד ולדעת טוב את כל הטכניקות זה נורא נחמד ונרא עוזר)
 
  • הוסף לסימניות
  • #28
לא הכרתי את אפשרות לשים name, לכן כתבתי שלא מומלץ
איך שולפים החוצה לפי name?
git stash list
מביא את כל הרשימה של הדברים שנשמרו עם מספרים ליד, (מספר נומרי רגיל: 1,2,3)
ואז -
<git stash pop <num
וזה זורק את זה החוצה מהstack
או -
<git stash apply <num
וזה שומר את זה עד שתעשי drop או pop.
מומלץ מאוד
 
  • תודה
Reactions: UU
  • הוסף לסימניות
  • #29
שתי הערות על git push -f
1. אם מדובר על master branch וכד׳ סביר שהוא יהיה חסום בכלל לפעולה הזו.
2. כאשר דוחפים בכח, אם מישהו אחר כבר משך אליו לוקלית את הגרסה שאנו עומדים לדרוס הוא יצטרך אח״כ לעשות hard reset כשעובדים בצוות זה פשוט לא קביל לבצע דחיפה בכוח על branch שגם אחרים עובדים עליהם

כלי מעולה ללימוד git
https://learngitbranching.js.org
 
  • תודה
Reactions: UU
  • הוסף לסימניות
  • #30
מחליף את הקומיט האחרון בקומיט שעכשיו דחפת.
ליתר דיוק, force push לא מחליף את הקומיט האחרון אלא מסנכרן בכח את המצב של ה branch המקומי אל השרת, בלי להתחשב במצב הקיים בשרת.
ככה למשל אפשר לבטל commits, עושים checkout לאחד ה commits הקודמים ואז force push
במילים אחרות זה מזיז את המצביע של ה branch ל commit אחר (ואם צריך גם נדחפים ה commits החסרים).

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

פרוגבוט

תוכן שיווקי
פרסומת
למעלה