לשלב עבודה עם merge
בשיעור הקודם פתחת ענף וניסית בו רעיון בצד, בלי לסכן את main. אבל ניסוי שנשאר בענף שלו לבד לא עוזר לאף אחד — בשלב מסוים צריך להחזיר את העבודה הביתה. כאן נכנס git merge: פקודה אחת שמאחדת ענף אחר לתוך הענף שאת/ה עומד/ת עליו. נראה שני מצבים. במצב הראשון, פשוט ונפוץ, main לא זז מאז שנפתח הענף — אז Git רק
merge הוא כמו לאחד שני יומני מסע לכרך אחד. אם רק אחד מכם כתב מאז שנפרדתם — פשוט מצמידים את הדפים שלו לסוף (fast-forward). אם שניכם כתבתם במקביל — מוסיפים דף חדש שאומר 'כאן התאחדנו' (commit מיזוג).
- git merge
- מאחד ענף אחר לתוך הענף שאת/ה עומד/ת עליו עכשיו. זוהי הדרך להחזיר עבודה מענף ניסוי בחזרה ל-main.
- fast-forward
- מיזוג בלי commit חדש: אם הענף שאליו ממזגים לא זז מאז שנפתח הענף, Git רק מחליק את המצביע קדימה. ההיסטוריה נשארת קו ישר אחד.
- commit מיזוג (merge commit)
- commit מיוחד עם שני parents, שמסמן את הנקודה שבה שתי שלוחות התאחדו. נוצר כשגם main וגם הענף התקדמו במקביל.
- היסטוריה שהתפצלה (diverged)
- מצב שבו שני ענפים חולקים נקודת מוצא משותפת ואז כל אחד התקדם בנפרד — נוצר 'מזלג' בגרף שצריך לאחד.