מהו Git merge?
כאשר ענף הפיתוח הראשי מתעדכן, הענף הנפרד שאתה ומפתחים אחרים עובדים עליו לא יתעדכן עם השינויים של צוותך. לכן, כמומלץ ביותר, כאשר הגיע הזמן להעלות בקשת מירוץ, תמיד עליך להתחיל בעדכון גרסת הענף הראשי המקומית שלך עם השינויים האחרונים. לאחר מכן, תוכל למזג את ענף הראשי שעודכן לענף הפיתוח שלך לפני שתבצע מאוחד ותעלה בקשת מירוץ למיזוגו לענף הפיתוח הראשי.
כיצד לשלב שני ענפי Git באמצעות מיזוג Git
כמפתח, להיות מיומן ב-Git יכול לעזור מאוד להפוך אותך ליותר יעיל. לתחילת דבר, חשוב להבין איך להריץ פקודות Git משורת הפקודה. לפני שנתחיל, בואו נראה מה עליכם להגדיר קודם לפני שתוכלו להתחיל למזג ענפים שונים ב-Git.
דרישות מקדימות
כדי להתחיל, תצטרכו לפריטים הבאים:
- A Windows, Mac, or Linux machine to run Git.
- אפליקציית Git, הזמינה להורדה כאן.
- A GitHub or Gitlab account.
- תוכנה לעריכת קוד כגון Visual Studio Code.
בואו נעבור במהירות על השלבים השונים הנדרשים להתקנת Git על מחשב וינדוס (יש לנו גם מדריך נפרד על איך להתקין Git על Ubuntu):
- עקוב אחרי הקישור להורדת Git עבור המכשיר שלך והתקן את הקבצים.
- ברגע שהתקנת, פתח את המסוף שלך והקלד git –version:
git –version
אם אתה מקבל מספר גרסה מוחזר, מצוין! עם זאת, אם אתה מקבל הודעת "לא נמצא פקודה", אזי ייתכן שתצטרך להוסיף את Git ל$PATH variable שלך. זה בדרך כלל בעיה של Windows.
בואו נתקן זאת במהירות כדי שלא תצטרך לספרד בחיפוש.
- עבור אל מרכז ההתחלה ולחץ על הלחצן השמאלי על This PC.
- בחר סטואטוס.
- לחץ על הגדרות מערכת משופרות.
- תחת הגדרות מערכת, לחץ על משתני סביבה. כאן, אפשר להוסיף ערכים למשתנה $PATH.
- בחר את $PATH ולחץ על עריכה.
- לחץ על חדש והוסף נתיב ל-git/cmd.
- לחץ על חדש והוסף נתיב לקובץ git.exe.
שמור את השינויים, חזור לטרמינל, והריץ שוב את הפקודה git -version.
git -version
עכשיו אתה אמור לקבל את מספר הגרסה. לאחר ביצוע העבודה הקדומה והגדרת חשבון ה-GitHub או Gitlab שלך, עכשיו אתה כבר צריך להיות מוכן ורץ.
יצירת פרוייקט Git
במקטע זה, אני אסביר את השלבים השונים הנדרשים ליצירת מאגר חדש.
בחשבון Github שלך שנוצר לאחרונה, לחץ על חדש בצד שמאל של המסך.

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

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

בטרמינל שלך, השתמש בפקודת cd כדי לבחור איפה ברצונך ליצור ספריית עבודה חדשה לפרויקט שלך
cd user/desktop/repo/
כאשר אתה בסניף הנכון, השתמש בפקודת mkdir command כדי ליצור תיקייה חדשה:
mkdir <name of your directory>
עכשיו, נשתמש שוב בפקודת cd כדי להחליף לתיקייה זו שנוצרה כעת:
cd <name of your newly created directory>
כשתהיה בתיקייה החדשה שלך, השתמש בפקודת git init כדי ליצור מאגר חדש:
git init
בשלב הבא, השתמש בפקודת git clone עם כתובת ה-HTTPS הנכונה, ולחץ על Enter. בתקשורת חוזרת, זה ייצור סניף ראשי במאגר המקומי שלך.
git clone <paste https address here>
כעת, פתח את המאגר שהועתק אלייך עם Visual Studio Code. כעת תוכל להתחיל לכתוב קוד.
לאחר שתצור את המאגר שלך, תהיה כבר בסניף הראשי. כמרקם טוב, לעולם אל תשלח קוד ישירות לסניף הראשי, שצריך להיות מוגן.
לצורך המדריך הזה, לא ננסה ענפי Git מוגנים. אך בשטח, לעולם לא תוכלו לדחוף קוד לענף הראשי בלעדי בקשת משיכה.
יצירת ענף Git נוסף
אנחנו כעת על ענף הראשי, כתבתם משהו ליצירת תוכן מסוים, ועכשיו ברצונכם ליצור ענף חדש.
בטרמינל שלכם, השתמשו בפקודת git checkout כדי ליצור ענף חדש ולהחליף אליו באופן אוטומטי:
git checkout -b <name of new branch>
הפקודה צריכה לחתוך אוטומטית את הענף החדש מהענף הראשי שלכם, כך שקודו של האחרון לא ישתנה.
עכשיו, הנה החלק המעניין בו נוכל להשתמש בפקודת המיזוג git. בענף שיצרתם כעת, תצטרכו תחילה להוסיף קוד נוסף כך שהענף הנוכחי שלכם יהיה מוביל על הענף הראשי עם שינויים חדשים.
עכשיו שאתם רוצים למזג את הענף החדש הזה לענף הראשי, עשויים להתעקש על סכסוך מיזוג, שהוא הכנסת קוד שנמנעת עם קוד שכבר קיים. זה לא כיף להתמודד עם אלה.
אז מה אתה עושה? בוא נראה איך למזג סניף אחד לסניף השני.
ממזג את שני ענפי Git במאגר הנתונים המקומי שלך
כאשר אתה על הענף החדש שלך, עבור לטרמינל והשתמש בפקודת git branch כדי לאמת את השם של הסניף שאתה נמצא בו:
git branch
עכשיו שאתה על הענף החדש שלך, השתמש שוב בפקודת git checkout כדי להחליף לסניף הראשי שלך:
git checkout Main
בשלב הבא, השתמש בפקודת git pull כדי לייבא את כל השינויים שצוותך עשה ולעדכן את הסניף הראשי המקומי שלך:
git pull
עכשיו, השתמש שוב ב git checkout כדי להחליף לסניף החדש שברצונך למזג עם הסניף הראשי:
git checkout <your specified branch>
זה הזמן להשתמש בפקודת git merge. זה יקח את הגרסה הנוכחית של הסניף הראשי שלך וימזג אותה לסניף הפיתוח שלך:
git merge Main
תוצאת המיזוג תכלול את הגרסה האחרונה של הקוד פלוס התכונה שפיתחת.
דרכים אחרות למזג ענפי Git
לאחר שהראינו לך איך למזג ענף חדש עם הסניף הראשי שלנו, בוא נבדוק דרכים אחרות למזג ענפי Git שעשויות להיות עליך להשתמש בהן.
מהו מיזוג מהיר קדימה?
A fast-forward merge is another way to merge multiple commits on one branch with one command rather than merging them all manually. Another advantage of using a fast-forward merge is that it will combine the histories of multiple commits while squashing the commit history.
נניח שיש לנו סניף תכונה אחד שקדם לסניף הראשי במספר קידומים. אנו רוצים למזג את כל הקידומים הללו מבלי לצטרך למזג אותם ידנית אחד לאחד. במקרה זה, נשתמש במיזוג קדימה מהיר.
בדוגמתנו, נתחיל על ידי כתיבת קוד והוספת קידום חדש לסניף שלנו עם הפקודות git add ו־git commit:
git add <filename>
git commit –m “added a thing”
עכשיו, נוסיף קידום נוסף לסניף החדש שלנו על ידי שימוש באותן פקודות שוב:
git add <filename>
git commit –m “added another thing”
בשלב הבא, אנו רוצים להעלות את שני הקידומים הללו למאגר המרוחק שלנו מבלי לצטרך לבצע שני העלאות. כדי לעשות זאת, עלינו להשתמש ב־ff על פקודת המיזוג של git
git merge --ff
זה ימזג את שני הקידומים בו זמנית לתוך אחד ויעשה את הקוד שלך להשגת הסניף הראשי.
מהו מיזוג 3 דרכים?
תדמיינו מקרה בו צוות הפיתוח שלכם יצר תכונות חדשות על שני סניפים נפרדים. אתם מוכנים כעת לעדכן את הסניפים ולמזג אותם לסניף הראשי כך שהאחרון יהיה מוכן להעלאת קוד למאגר מרוחק.
כדי לוודא שהתכונות החדשות עובדות ביחד בצורה נכונה, זה רעיון טוב למזג את סניפי התכונות זה בזה ולאזן על ידי ביצוע בדיקות. מיזוג 3 דרכים יאפשר לנו לשלב שני סניפים נפרדים עם הקדמון המשותף שלהם.
בואו נעבור על השלבים הנדרשים לביצוע מיזוג 3 דרכים לצורך ענף היעד. בדוגמה שלהלן, נתחיל על ידי יצירת ענף חדש, הוספת שני commit לו, ונמזג אותו עם הענף הראשי שלנו באמצעות מיזוג 3 דרכים.
ראשית, בואו נתחיל על ידי יצירת ענף 'תכונה-חדשה' ומעבר אוטומטי אליו באמצעות הפקודה git checkout. ציון -b עם הפקודה זו גורר יצירת ענף חדש:
git checkout -b new-feature main
לאחר מכן, אנו מוסיפים קבצים וcommit חדש לענף שלנו עם הפקודות הבאות:
git add <file>
git commit -m "Start a feature"
לאחר מכן אנו מוסיפים commit נוסף לענף החדש שלנו עם הפקודות הבאות:
git add <file>
git commit -m "Finish a feature"
לאחר שהוספנו קוד חדש לענף החדש שלנו, עליכם לדמיין מצב בו הענף הראשי שלנו ממשיך גם הוא להתקדם. נמשיך ראשית לחזור אליו באמצעות פקודת git checkout:
git checkout main
לאחר מכן, נוסיף commit חדש לענף הראשי שלנו:
git add <file>
git commit -m "make some changes to Main"
כעת, אנו רוצים למזג את הענף 'תכונה-חדשה' שיצרנו מראש עם הענף הראשי שלנו שעודכן. כאשר העבודה תמשיך על הענף הראשי שלנו, נסיים על ידי מחיקת הענף 'תכונה-חדשה' באמצעות פקודת git branch.
git merge new-feature
git branch -d new-feature
עכשיו, מיזגנו את שני הענפים שלנו עם סבתא משותפת לענף הראשי שלנו. האחרון עתה מוכן להתמזג למאגר המרוחק שלך ולהגביר פרויקט התוכנה שלנו, ונראה איך לעשות זאת למעלה.
כיצד למזג ענף Git למאגר מרוחק
לפעמים עשוי להיות עליך למזג ענף לתוך ריפוזיטורי מרוחק. בואו נעבור על השלבים כיצד לבצע את זה.
בואו נתאר מצב בו כתבת קוד חדש עבור תכונה חדשה שבעל המוצר שלך רצה ליצור. לאחר בדיקת הקוד שלך ואז ביקורת אותו עם בעל המוצר שלך, אתה כעת מוכן למזג את העבודה הקשה שלך לתוך ריפוזיטורי המרוחק של הצוות שלך.
ככל שציינו קודם, לעולם לא ניתן לדחות את הקוד שלך לענף הראשי ישירות. עלייך לנצל תמיד את זריקת העבודה של Git שפרטנו בתחילת מדריך זה.
לאחר ביקורת התהליך של Git, בוא נמזג את הקוד שלך. נמשיך מאיפה שעצרנו, כעת יש לנו ענף מעודכן: העדכונים האחרונים לענף הראשי כבר נרשמו למעלה אל תוך הריפוזיטורי המקומי שלך.
אתה כעת עומד בשערי הריפוזיטורי המרוחק. איך אתה מגיע שמה? פשוט, אנו הולכים להשתמש בכמה פקודות git נוספות.
כמעשה מומלץ, תמיד עליך לבדוק את מצב הענף שלך עם הפקודה git status. הפקודה תציג אילו קבצים נוספו, הוסרו, מעוקבים, או לא מעוקבים.
git status
עליך גם לראות אם הוספת קבצים שהם לא מעוקבים. במקרה כזה, עליך להוסיף אותם כך שיימדדו ויתווספו לפעולת commit שלך.
ניתן להשתמש בפקודת git add כדי להוסיף את כל הקבצים שיצרת בפיתוח שלך. עכשיו, עשוי להיות עליך לרשום את שמות הקבצים אם ברצונך להוסיף קבצים ספציפיים בלבד. אם ברצונך להוסיף את כל הקבצים, השתמש ב "." כדי להוסיף את כל הקבצים.
בשלב הבא, נשתמש בפקודת git commit כדי לקבוע את כל הקבצים שהוספנו בשלב הקודם. עליך להשתמש בדגל -m כדי לכתוב הודעה, אחרת יופנה אותך למצב עורך טקסט כדי לכתוב הודעה, תהליך שאינו מיוחד.
להודעתך, תוכל לרשום הערה מהירה על מה שעשית. לדוגמה, "יצרת תכונה חדשה מרשימה והוספתי אייקון חדש לתפריט ותיקוני באגים."
git commit -m “<your commit message goes here>”
לבסוף, ניתן להשתמש בפקודת git push כדי להעלות את הסניף שלך אל המאגר המרוחק.
git push --set-upstream origin <<your branch name>>
עכשיו, לאחר שהעברת את הסניף שלך, תצטרך לעבור לGitHub או למקום בו מאגרים המרוחקים שלך מאוחסנים, למצוא את ההעברה האחרונה שלך, וללחוץ על צור בקשת משיכה.

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

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

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