כיצד לפתור Git Merge 'CONFLICT'?

Kyzd Lptwr Git Merge Conflict



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

כתיבה זו תציין את השיטה לפתרון התנגשות המיזוג של Git.

מתי מתרחש Git Merge 'CONFLICT'?

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







בצע את השלבים המוזכרים להלן כדי להבין מתי מתרחש התנגשות המיזוג:



  • נווט אל המאגר המוצהר.
  • צור קובץ ועדכן אותו.
  • עקוב אחר הקובץ באזור ההיערכות ובצע את השינויים.
  • רשום את כל הסניפים ועבור לסניף אחר.
  • מיזוג סניפים על ידי הפעלת ' git merge ' פקודה.

שלב 1: הפנה מחדש את המאגר המוצהר

פתח את מסוף Git Bash, השתמש ב-' CD ' הפקודה, ונווט לעבר המאגר המוצהר:



CD 'C:\Users\user\Git\projectrepo'

שלב 2: צור קובץ

לאחר מכן, צור קובץ חדש באמצעות ' לגעת ' פקודה:





לגעת file1.txt

שלב 3: פתח את הקובץ בעורך

השתמש ב' הַתחָלָה ' הפקודה עם שם הקובץ כדי להפעיל את הקובץ עם עורך ברירת המחדל:



התחל את file1.txt

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

שלב 4: הוסף קובץ באזור ההיערכות

כעת, הוסף את הקובץ שהשתנה לאזור ההיערכות בעזרת ' git להוסיף פקודה לעיבוד נוסף:

git להוסיף file1.txt

שלב 5: ביצוע שינויים

בצע את כל השינויים על ידי ביצוע ' git commit ' הפקודה וציין הודעה באמצעות ' -M ' אפשרות:

git commit -M 'הקובץ עודכן והוסיף'

שלב 6: רשימת סניפים

כעת, רשום את כל הסניפים על ידי הפעלת ' git branch ' פקודה:

git branch

התמונה שסופקה מראה שכל הסניפים הוצגו בקונסולה:

שלב 7: החלף סניף

כדי לעבור מסניף אחד למשנהו, הפעל את ' git checkout ' הפקודה והוסף את שם הסניף לאן ברצונך להעביר:

git checkout תכונה 2

כתוצאה מכך, עברנו בהצלחה מה-' אלפא ' אל ה ' תכונה 2 ' ענף:

שלב 8: צור קובץ

בשלב זה, צור את אותו קובץ של ' אלפא ' סניף עם אותה סיומת:

לגעת file1.txt

שלב 9: פתח את הקובץ

השתמש בפקודה שסופקה כדי לפתוח את הקובץ עם עורך ברירת המחדל ולהוסיף תוכן:

התחל את file1.txt

שלב 10: עקוב אחר הקובץ באזור ההיערכות

בצע את ' git להוסיף ' הפקודה כדי לדחוף את הקובץ מאזור העבודה לאזור ההיערכות:

git להוסיף file1.txt

שלב 11: בצע שינויים

כעת, בצע שינויים על ידי הפעלת הפקודה המצוינת למטה יחד עם הודעת ה-commit:

git commit -M 'קובץ נוסף ועודכן בסניף feature2'

שלב 12: מיזוג סניפים

לאחר מכן, השתמש ב' git merge ' הפקודה למיזוג ' תכונה 2 ' עם ה ' אלפא ' ענף:

git merge אלפא

על פי הפלט שסופק, ' CONFLICT: מיזוג התנגשות בקובץ file1.txt 'נתקל ב:

בדוק היכן נתקלת ההתנגשות בקובץ שצוין על ידי הפעלת ' הַתחָלָה ' פקודה:

התחל את file1.txt

ניתן לשים לב שהתוכן של שני אותם קבצים שונה זה מזה:

שלב 13: בטל את המיזוג

להשתמש ב ' git merge הפקודה יחד עם הפקודה ' -לְהַפִּיל ' אפשרות להסיר את פעולת המיזוג:

git merge --לְהַפִּיל

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

כיצד לפתור התנגשויות Git Merge?

כדי לפתור את התנגשות המיזוג של Git, בצע את ההליך המפורט להלן:

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

שלב 1: שנה את הקובץ

פתח את הקובץ עם עורך ברירת המחדל ושנה את התוכן לפי ' אלפא ' קובץ הסניף:

התחל את file1.txt

ניתן לראות שהקובץ השתנה. לאחר מכן, לחץ על ' CTRL+S ' ושמור את זה:

שלב 2: קובץ מעקב

הוסף את הקובץ מספריית העבודה לאזור ההיערכות על ידי הפעלת הפקודה שסופקה:

git להוסיף file1.txt

שלב 3: בצע שינויים

כדי לבצע את כל השינויים, השתמש ב-' git commit ' פקודה:

git commit -M 'קובץ שונה נוסף'

כתוצאה מכך, השינויים בוצעו בהצלחה:

שלב 4: מיזוג סניפים

כעת, הפעל את ' git merge ' סניף יחד עם שם הסניף השני:

git merge אלפא

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

הפלט המצוין להלן מראה שקונפליקט המיזוג של Git נפתר ומוזג סניפים בהצלחה:

זה הכל על פתרון סכסוך המיזוג של Git.

סיכום

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