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



נסה את הכלי שלנו לביטול בעיות

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



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

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



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



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

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

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

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

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



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

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

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

דוגמה היא:

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

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

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

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

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

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

$ git reset --- מיזוג

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

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

$ git להחזיר HEAD

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

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>
3 דקות קריאה