מיזוג ב-Git מפושט: מיזוג ענפים כמו מקצוען

  • A GitHub account – Sign up at GitHub.

mkdir git-demo && cd git-demo


<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Git Merge Demo</title>
</head>
<body>
    <h4>Let's get started with git merge</h4>
</body>
</html>

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

git init
Initializing a Git repository for git merge

4. אשר את יצירת תיקיית .git בתיקיית הפרויקט שלך. התיקייה הזו היא המקום בו Git מעקב אחר השינויים:

ls -la
Verifying the existence of the GIT repository in the directory.

5. הפעל את הפקודה git add כדי להעמיד את השינויים שלך בפרויקט בשלב. על ידי העמדת הקובץ index.html, אתה מכין אותו לצעד הבא בתהליך העבודה של Git.

git add index.html

6. השתמש ב- git status כדי לאשר שהקובץ שלך מעומד כראוי. הפקודה הזו מספקת צילום רגע מהמצב הנוכחי של ספריית העבודה שלך.

git status
Confirming the staging of changes for git merge.

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

git commit -m "initial commit"
Executing the initial commit in preparation for git merge.

קבע את זהותך ב-Git עם: git config --global user.email "[email protected]" ו- git config --global user.name "Your Name" אם משתמשים ב-Git לראשונה.

8. בדוק את היסטוריית ה-commits שלך עם git log. הפקודה הזו עוזרת לך לעקוב אחרי השינויים וחשובה במיוחד כאשר אתה מתכונן ל- git merge.

git log
Checking commit history before performing git merge.

9. אשר את קיומם של ענפים במאגר שלך עם git branch. צעד זה חיוני לפני שתבצע מיזוג של git.

הערה: הענף הברירת מחדל נקרא 'main' בגרסאות האחרונות של Git, מחליף את 'master'.

git branch
Listing all branches in preparation for git merge.

יצירת ענף עבור מיזוג Git

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

1. עדכן את קובץ index.html עם תוכן חדש כדי להדגים שינויים בסניף שלך. גרסה זו כוללת שדות קלט משתמש, מתכוונת להדגים את git merge.

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Git Merge Demo</title>
</head>
<body>
    <h4>Enhancing Git Merge Skills</h4>
    <form action="">
      <input type="text" name="username" placeholder="Username" />
      <input type="password" name="password" placeholder="Password" />
    </form>
</body>
</html>

2. בדוק את מצב המחסנית שלך עם git status כדי להציג את השינויים ב־index.html. זה צריך לציין שהקובץ שונה ולא נקלט, מוכן לשלב בשלבים הבאים בתהליך git merge.

Inspecting repository changes for git merge.

3. צור סניף חדש בשם "form" עם git checkout -b form. הפקודה לא רק יוצרת את הסניף החדש, אלא גם מחליפה את הסניף הפעיל שלך ל־"form", שחשוב למימוש git merge.

git checkout -b form
Creating a new branch for git merge.

4. אשר את יצירת הסניף החדש על ידי הפעלת git branch. עכשיו תראה את שני הסניפים, "form" ו־"master", עם "form" כסניף פעיל המסומן בכוכבית (*).

git branch
Confirming the active ‘form’ branch for git merge.

5. הכן לביצוע שלב ולהזנת שינויים ב־form. פעולה זו מבטיחה שהסניף form ישקף את העדכונים האחרונים ב־index.html, יוצרת הכנה ל־git merge אפקטיבי.

## תרגיל קובץ העדכון
git add index.html

## לשלוח את השינויים החדשים
git commit -m "Added user input fields to form"
Committing updated index.html to the ‘form’ branch for git merge.

מיזוג ענפים מקומי עם Git Merge

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

1. להתחיל את המיזוג, החליפו לענף master, שיקבל את העדכונים מהענף form:

git checkout master

2. לאחר שהינך בענף master, בצע git merge form כדי לשלב את השינויים מהענף form לענף master. זהו שלב קריטי בתהליך ה-git merge.

git merge form
Successfully merging branches using git merge.

3. לאשר את המיזוג על ידי הבדיקה שאתה נמצא בענף master ובדיקה שתוכן של index.html עודכן.

# לאשר ענף נוכחי
git branch
# לבדוק את תוכן המיזוג
cat index.html
Reviewing index.html content post git merge.

זינוק תהליך עם Git Squash

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

בואו נבדוק את תהליך הזינוק על ידי ביצוע שינויים נוספים בקובץ index.html בענף form, ואז נזינק את השינויים הללו.

1. שנה חזרה לענף form כדי לבצע שינויים נוספים:

git checkout form

2. שנה את הקובץ index.html על ידי הוספת כותרת של טופס. שלב זה ייצור שינוי שנצמד בהמזג במועד מאוחר יותר:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h4>Mastering Git Merge with Form Updates</h4>
    <form action="">
      <h4>Account Details</h4>
      <input type="text" name="username" placeholder="Username" />
      <input type="password" name="password" placeholder="Password" />
      <button>Submit</button>
    </form>
</body>
</html>

3. הדבק ושמור את השינויים עם הודעה ברורה שמתארת את העדכון:

git add index.html
git commit -m "Enhanced form with a header for git merge"
Staging and committing changes for squashing in git merge.

4. שדרג את הקובץ index.html בענף form על ידי הוספת שדה קלט חדש. שינוי זה הוא חלק מהכנה למיזוג git אפקטיבי:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Git Merge Example</title>
</head>
<body>
    <h4>Practicing Git Merge</h4>
    <form action="">
      <h4>Enter account details</h4>
      <input type="text" name="fullname" placeholder="Full Name" />
      <input type="text" name="username" placeholder="Username" />
      <input type="password" name="password" placeholder="Password" />
      <button>Submit</button>
    </form>
</body>
</html>

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

git add index.html
git commit -m "Enhanced form with an additional input field"
Adding another input field to index.html for git merge.

6. לאחר מכן, הוסף אלמנט פסקה מתחת לטופס בקובץ index.html, משנה נוסף את הקובץ בהכנה למיזוג git.

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Git Merge Practice</title>
</head>
<body>
    <h4>Let's get started with git merge</h4>
    <form action="">
      <h4>Enter account details</h4>
      <input type="text" name="fullname" placeholder="Full Name" />
      <input type="text" name="username" placeholder="Username" />
      <input type="password" name="password" placeholder="Password" />
      <button>Submit</button>
    </form>
    <p>Already a user?</p>
</body>
</html>

7. שוב, שדרג ושמור את השינויים, באמצעות הודעה שלובה את העצם של העדכון הזה, חיונית עבור תהליך המיזוג git.

git add index.html
git commit -m "Added user status paragraph to form"
Further modifying index.html for git merge.

8. השתמש ב־git rebase במצב אינטראקטיבי כדי להציג ולערוך את השינויים האחרונים שלך. שלב זה חיוני בתהליך של דחיסת שינויים עבור מיזוג נקי של git.

git rebase -i HEAD~3

9. במצב האינטראקטיבי, בחר לreword את ההתחייבות הראשונה ולsquash את ההתחייבויות העוקבות. פעולה זו מקונסולידה את היסטוריית ההתחייבויות שלך, עושה את המיזוג שלך ב־git נקי ומאורגן יותר.

Preparing commits for squashing in git merge.

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

Finalizing the commit message for git merge.

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

Successful git squash operation.

לצורך ציטוט ומיזוג סימולטניים, השתמשו ב-git merge --squash. טכניקה זו ממזגת וצוטטת את הסניף form אל סניף ה-master, משלבת את הקומיטים באופן אפקטיבי.

git merge --squash form

הפעלת פקודת git merge --squash משלבת את השינויים מהסניף form אל master ומצמצמת את כל הקומיטים לקומיט אחד. גישה זו היא חלק מאסטרטגיות git merge אפקטיביות.

Executing git merge with squash option.

יישום הפעולה מהירה קדימה במיזוג Git

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

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

1. החליפו לסניף form כדי להתחיל בתהליך התקדמות קדימה:

git checkout form

2. צרו ועדכנו קובץ JavaScript, כמו index.js, בסניף form, ובצעו את השינויים:

git add index.js
git commit -m "Added JavaScript functionality"

3. לבסוף, מזגו את הסניף form אל master באמצעות גישת התקדמות קדימה. צעד זה מסדר את סניף המאסטר עם השינויים האחרונים מסניף הטופס, יוצר נתיב git merge חלק וליניארי.

git checkout master
git merge form
Performing a fast-forward merge in Git.

סיכום

המדריך הזה הדריך אותך דרך שיטות שונות לשילוב ענפים באמצעות git merge. מכינות רשומות לפיצוץ, לקידום מהיר ועד לפריצה מהירה קדימה, אלו השיטות משפרות את יכולתך לנהל פרוייקטים בשיתוף פעולה ב-Git.

עם הכישורים הללו, שקול לתרום לפרוייקטים בשיתוף פעולה ב-GitHub, וליישם את הידע שלך על git merge בתרחישים בעולם האמיתי.

Source:
https://adamtheautomator.com/git-merge/