כיצד לתקן שגיאת Git: תחילה עליך לפתור את האינדקס הנוכחי

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

שגיאה: עליך לפתור תחילה את האינדקס הנוכחי בשליטה במקור Git

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

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

מה גורם לשגיאת Git: תחילה עליך לפתור את האינדקס הנוכחי שלך?

כמו שהוזכר קודם, הסיבות לשגיאה זו מוגבלות למדי. תיתקל בשגיאה זו מכיוון:

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

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

פתרון 1: פתרון סכסוך המיזוג

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

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

דוגמה היא:

$ git להוסיף file.txt $ git להתחייב

תוכל להוסיף את הפרשנות האישית שלך תוך כדי התחייבות. דוגמה היא:

$ git commit –m "זהו מאגר Git Appuals"
  1. לאחר שפתרת את הסכסוך, נסה לבדוק בסניף הקיים שלך ולראות אם הבעיה נפתרה.

פתרון 2: השבת המיזוג שלך

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

כדי לבטל את המיזוג , הקלד את הדברים הבאים:

$ git reset -–merge

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

אתה יכול גם לנסות להחזיר את ה- HEAD באמצעות הפקודה הבאה:

$ git להחזיר HEAD

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

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>